はじめに
Go言語のWebフレームワーク「Echo」は、その軽量さと高いパフォーマンスで人気があります。公式で「高性能、拡張可能、ミニマリストのGo Webフレームワーク」と謳うだけあって、各種ミドルウェアや機能も盛りだくさんでありつつ、シンプルでミニマルに実装できるのが特徴です。というわけで今回はEchoを使って簡単なREST APIを作成していきます。
環境構築
- Goのインストール: まだインストールしていない場合は、公式サイトからダウンロードしてインストール。
- Echoのインストール: ターミナルで以下のコマンドを実行します。
go get -u github.com/labstack/echo/v4
APIサーバーの作成
- プロジェクトの作成: 任意のディレクトリでプロジェクトを作成します。
mkdir echo-rest-api
cd echo-rest-api
- main.goの作成: プロジェクトディレクトリに
main.go
ファイルを作成し、以下のコードを記述します。
package main
import (
"net/http"
"github.com/labstack/echo/v4"
)
func main() {
e := echo.New()
// GETリクエストのハンドラ
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
})
// サーバーの起動
e.Logger.Fatal(e.Start(":1323"))
}
- サーバーの立ち上げ: ターミナルで以下のコマンドを実行します。
go run main.go
- 動作確認: ブラウザで
http://localhost:1323/
にアクセスし、「Hello, World!」と表示されれば成功です。
APIエンドポイントの追加
GETリクエストだけでなく、POST、PUT、DELETEなどのエンドポイントも簡単に追加できます。
// POSTリクエストのハンドラ e.POST("/users", func(c echo.Context) error { // リクエストボディの処理など return c.JSON(http.StatusCreated, map[string]string{"message": "User created"}) })
まとめ
ものの数分でAPIを作ることができました。golangでサクッとAPI作りたい時に便利なフレームワークです。 今回は最低限のAPI構築でしたが、ここからさらにmiddlewareを挟むこともできて、認証やログなども手軽に実装できます。
参考資料
- Echo公式サイト: https://echo.labstack.com/
- Echo GitHubリポジトリ: https://github.com/labstack/echo/