OpenAPI
2. 使用するパラメータ値を計算する(ある場合)
3. パラメータ値を URL パス テンプレートに挿入し、HTTP リクエストを送信する。 OpenAPI で、パスと呼ばれるものを定義します。OpenAPI のパスは、YAML では次のように表示されます。
code:yml
paths:
/pets/{petId}:
get:
operationId: getPetById
parameters:
- name: petId
in: path
required: true
description: The id of the pet to retrieve
schema:
type: string
基本的に YAML または JSON で記述するため、Git 等を使用してソースコードと同様に管理することができます。 つまり、Word, Excel で記述された仕様書に比べて更新履歴を管理していく努力が削減されます。
API 定義ファイルと実装を一緒にコミットすることで仕様と実装が乖離しにくくなるため、より正確かつ最新の情報を共有することができます。
仕様が明確になる
OAS のフォーマットに合わせて宣言的に書いていくことで曖昧な記述がなくなります。 またデータの仕様を明記するための各種データ型がサポートされているので、仕様が明確になります。
Swagger UI を利用する場合、Markdown で記述された項目の表示もサポートされ、細かい仕様や注意点を分かりやすく表現することができます。 WebAPI の仕様管理を仕組み化することができる
Swagger UI から API 定義ファイルを読み込むことでインタラクティブな Web ドキュメントを作成することができます。 別途 REST Client を使うことなく Swagger UI 上で動作確認ができてしまいます。 また Swagger Codegen を使ってクライアントライブラリ(SDK)を自動生成することもできますので、WebAPI を叩くクライアント側の実装も楽になります。 逆にソースコードから API 定義ファイルを生成する仕組みもあるので、実に色んな使い方ができます。
API 定義ファイルの操作を CI に組み込むことで、仕様書の更新・クライアントSDKの生成と配布・WebAPIのデプロイなどをまとめて自動化することが可能になります。
アプリとサーバーのやり取りを一元化
コードジェネレート機能