言語依存のない形でHTTP APIの仕様を定義するためのフォーマット。YAMLまたはJSONで記述する。
Swagger SpecificationはOpenAPI Specificationの前身である。
スキーマ駆動による開発プロセスの効率化ができる。
致命的なデメリットはないように思える。
Dockerが利用できるのでDockerで試してみる。
cf. github.com - OpenAPITools/openapi-generator
docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g go \
-o /local/out/go
API仕様のドキュメントはVSCodeであればOpenAPI (Swagger) Editorが良さそうだった。
生成のオプションとかちゃんと見れていないので、そのへん確認できたら個人開発のプロジェクトで利用してみようと思う。
何を自動生成して、何を自動生成させないかを上手く調整するのが導入時の課題かなと感じた。