Go言語のechoを使ってSwaggerを使ってみる
こんにちは、株式会社PentagonでエンジニアをしているYamatoです。
Go言語のフレームワーク「echo」を使っているときにSwaggerを使いたいと思ったので、検証の記事です。
といってもgo echo swaggerと検索すると既に何件か参考になるサイトがあるので、そちらを参考に検証していきます。
今回参考にしたURLはこちらのken-aio's blogさんの記事です。
こちらの記事には、サンプルのプロジェクトが公開されているので、使い方を覚えるのに使わせていただきました。
今回検証をするにあたっての工程は以下のとおりです。
- go言語のインストール
- 依存環境をインストール(swag等)
- 実行
go言語のインストール
今回検証する環境はmacOS環境で行いました。
インストール済みの環境ではスキップします。
brew install golang
依存環境をインストールする
swagをインストールするわけですが、インストールしたての環境下ではGOPATHの設定がされておらずインストールしたパッケージが使いにくいのでGOPATHを設定します。
export GOPATH=$HOME/.go
~/.bashrcに追記してsource ~/.bashrc
を実行するか一時的に設定するのであればそのまま実行しても構いません。
次にswagをインストールします。
go install github.com/swaggo/swag/cmd/swag
サンプルプロジェクトのgo.sumではcheck sumが通らないので、
rm go.sum
go mod tidy
を実行して
~/.go/bin/swag i
# PATHを設定している場合は
# swag iでも構いません
実行
最後にgoを実行するとhttp://localhost:1314/swagger/index.html からSwaggerを確認することができます。
go run main.go
最後に
これでgo Docを書くだけでSwaggerに反映される環境を構築できたので、必要に応じてgo Docを編集しましょう
ものすごく簡単に導入できたのでおすすめです。
他の言語でSwaggerを使ってきましたが、やはりコンパイル言語は早いです。pythonやRailsから比べるとSwaggerの表示速度が早くてびっくりします。