Go Langで作成したAPIをSwagger UIで表示する
nove-b
December 28, 2023
タイトルにあるようにSwaggerで作成したいのであれば、yamlを作成すればいい。
だけど、そんなことをするのは面倒くさい。
というのもNestJsではデコレーターを追加するだけで自動でSwagger UIを作成してくれた。
そこでGoでも同様な手順で実現できるライブラリを探してみた。
swaggo/swag
swaggo/swagを使えばできそうだったので試してみた。
インストール
アノテーションを作成する
main.goにアノテーションを追加する。
記入後にswag initを実行する。
すると上記ファイルたちが生成される。
UIで確認する
これがいまいちわかなかったので、https://editor.swagger.io/に生成されたyamlファイルをコピペして見る方法にしているけど、localhost:18080/api/v1で見られるんだと思われる。
...見れないので、要調査。
⚠️ 違った。 localhost:18080/api/v1 上のURLはBaseURLだった。
まあ、問題ないので、いったん上記方法で行く。
追記:2023.12.30
Swagger ViewerVSCodeの拡張機能があった。
個別APIのアノテーションを作成する
こんな感じで、アノテーションを追加すればいける。
詳細はhttps://github.com/swaggo/swag?tab=readme-ov-file#declarative-comments-formatに詳しい。
大枠はこれくらい。
後は最適化していくだけ。
Discussion in the ATmosphere