Go OpenAPI code generation
go-swagger
go-swagger でリクエスト/レスポンスのオブジェクト型を 生成してくれるためロジックに集中できる
リクエスト/レスポンスの型だけでなく、リクエストを受ける/レスポンスを返す実装も合わせて生成されます。そのため、実装者は生成されたコードから リクエストパラメータ struct を受け取る → レスポンス struct を生成 までを実装すればよいです
生成したコードが依存するpackages
ohbarye.icon dep推奨してるようだが、記述が古い? oapi-codegen
v3にのみ対応
package名はデフォルトではopenapi3だが-package指定できる
デフォルトで1ファイルにすべてのコード生成されるが、-generateでserver, client, types 等を個別に生成することもできる
tagを指定/除外して依存関係あるものだけを取り出すことができる
Swagger Codegen
v2, v3に対応
OpenAPI Generator
v2, v3に対応
openapi-generator での生成コードは現状はまだ、運用に耐えるレベルではない考えます。
特に、Handlerとリクエスト/レスポンスの型定義がマッチされたコードが生成されない点が辛いです。
参考