Go言語でswaggerを使ってみる

Go言語のechoを使ってSwaggerを使ってみる

こんにちは、株式会社PentagonでエンジニアをしているYamatoです。
Go言語のフレームワーク「echo」を使っているときにSwaggerを使いたいと思ったので、検証の記事です。
といってもgo echo swaggerと検索すると既に何件か参考になるサイトがあるので、そちらを参考に検証していきます。
今回参考にしたURLはこちらのken-aio's blogさんの記事です。
こちらの記事には、サンプルのプロジェクトが公開されているので、使い方を覚えるのに使わせていただきました。

今回検証をするにあたっての工程は以下のとおりです。

  1. go言語のインストール
  2. 依存環境をインストール(swag等)
  3. 実行
目次

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の表示速度が早くてびっくりします。

採用情報はこちら
目次