Skip to content

Commit af8b1af

Browse files
authored
Add Callback, Links (#72)
* Add Callback, Links Chapter
1 parent d66d31a commit af8b1af

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

documents/forOpenAPISpecification/OpenAPI_Specification_3.0.3.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -589,6 +589,33 @@ securitySchemes:
589589
description: 'Bearer トークン認証'
590590
```
591591

592+
### links
593+
594+
[links](https://swagger.io/docs/specification/links/) は OpenAPI 3.0 の新機能の1つで、あるAPIレスポンスの値を用いて、別のAPIを呼び出す方法を明示できるセクションである。
595+
596+
興味深い機能であり、APIのセマンティクスを伝えるのに有用であるが、本規約では記載しないことを推奨とする。
597+
598+
理由は下記の通りである。
599+
600+
- 業務システムでは、業務フローを抑えておけば、API操作フローの理解はそこまで難しくないことが多い
601+
- 逆に、API同士の関係だけを示すだけでは業務モデリング図とのダブルメンテナンスになったり、中途半端になりうる
602+
- [OAS 3.0 Support Backlog](https://github.com/swagger-api/swagger-ui/issues/3641) にあるように、2023/12/15時点ではSwagger-UIが対応していない
603+
- linksを書いたと言って、APIドキュメントに影響しない
604+
605+
### callbacks
606+
607+
[callbacks](https://swagger.io/docs/specification/callbacks/) は OpenAPI 3.0 の新機能の1つで、APIサーバ側が指定されたコールバックURLを呼び出すという仕組みである。
608+
609+
仕様書には、ECショップで購入のたびにマネージャーに通知を送るといった、何かしらの処理をトリガーにコールバックURLを呼び出す例が示されている。
610+
611+
利便性は高い仕様だが、本規約では記載しないことを推奨とする。
612+
613+
理由は下記の通りである。
614+
615+
- コールバックURL呼び出しの、エラーハンドリングが難しい
616+
- 業務システムでは欠損が許されない、または将来的に許されなくなる可能性があり、その場合にこの機能に頼ると想定以上の追加作業が発生する
617+
618+
コールバックのような仕組みを実現するには、別途キューイングのメッセージサービスの利用などを検討する。
592619

593620
## security
594621

0 commit comments

Comments
 (0)