OpenAPI
REST API を記述するための標準。Swagger 2.0 から分岐して2015年に Linux Foundation へ寄贈され、OpenAPI Specification(OAS)となった。v3.0 は2017年、v3.1 は2021年で JSON Schema と互換になった。
YAML または JSON で、パス、メソッド、パラメータ、リクエスト/レスポンスのスキーマ、認証、例を記述する。ここから、ドキュメント(Swagger UI、Redoc)、クライアント SDK(openapi-generator)、サーバーのスタブ、モックサーバー(Prism)、テスト(Schemathesis)が自動生成される。Spring(springdoc-openapi)、FastAPI(Python、標準対応)、NestJS、.NET、Go のフレームワークは、コードから OAS を自動で出せる。
競合は、gRPC + Protobuf(バイナリでRPC型)、GraphQL(単一エンドポイント)、メッセージングやイベント駆動向けの AsyncAPI などだ。