TL;DR

HTTP API のインタフェースを、プログラミング言語に依存しない標準の形式で記述するための仕様(OpenAPI Specification)。ドキュメントは JSON か YAML で書く。

なぜ必要か

OpenAPI Specification によると、OpenAPI で記述すると、人もコンピュータも、ソースコードや追加のドキュメントを読まずにサービスの機能を理解できる。

仕組み

OpenAPI のドキュメント(OpenAPI Description)は JSON のオブジェクトで、JSON か YAML で表現する。この記述をもとに、API を表示するドキュメントツール、クライアントやサーバのコードを生成するツール、テストツールなどを使える。

例

Huma は OpenAPI 3 と JSON Schema を土台にした Go のフレームワークである。utoipa は、Rust のエンドポイントに付けたマクロから OpenAPI のドキュメントを生成する(Code first)。TypeSpec は、1 つの定義から OpenAPI や Protocol Buffers の仕様を出力できる。

関連

出典