Go Langで作成したAPIをSwagger UIで表示する
タイトルにあるようにSwaggerで作成したいのであれば、yamlを作成すればいい。 だけど、そんなことをするのは面倒くさい。 というのもNestJsではデコレーターを追加するだけで自動でSwagger UIを作成してくれた。 そこでGoでも同様な手順で実現できるライブラリを探してみた。 swaggo/swag swaggo/swagを使えばできそうだったので試してみた。 インストール go install github.com/swaggo/swag/cmd/swag@latest アノテーションを作成する main.goにアノテーションを追加する。 // @title sample api // @version 1.0 // @description this is sample apigw // @host localhost:18080 // @BasePath /api/v1 // @tag.name accounts // @tag.description about accounts request func main() { handlers.HandleRequests() } 記入後にswag initを実行する。 . ├── docs.go ├── swagger.json └── swagger.yaml すると上記ファイルたちが生成される。 UIで確認する これがいまいちわかなかったので、https://editor.swagger.io/に生成されたyamlファイルをコピペして見る方法にしているけど、localhost:18080/api/v1で見られるんだと思われる。 …見れないので、要調査。 ⚠️ 違った。 localhost:18080/api/v1 上のURLはBaseURLだった。 まあ、問題ないので、いったん上記方法で行く。 追記:2023.12.30 Swagger ViewerVSCodeの拡張機能があった。 個別APIのアノテーションを作成する // GetAccount // @summary アカウントの情報を返します // @description user_idを元にアカウント情報を返します // @tags accounts // @produce json // @success 200 // @failure 401 // @router /accounts [get] func FetchUserById(w http....