Golangのフレームワーク「echo」で簡易なAPI作成

はじめに

Go言語のWebフレームワーク「Echo」は、その軽量さと高いパフォーマンスで人気があります。公式で「高性能、拡張可能、ミニマリストのGo Webフレームワーク」と謳うだけあって、各種ミドルウェアや機能も盛りだくさんでありつつ、シンプルでミニマルに実装できるのが特徴です。というわけで今回はEchoを使って簡単なREST APIを作成していきます。

環境構築

  1. Goのインストール: まだインストールしていない場合は、公式サイトからダウンロードしてインストール。
  2. Echoのインストール: ターミナルで以下のコマンドを実行します。
   go get -u github.com/labstack/echo/v4

APIサーバーの作成

  1. プロジェクトの作成: 任意のディレクトリでプロジェクトを作成します。
   mkdir echo-rest-api
   cd echo-rest-api
  1. 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"))
   }
  1. サーバーの立ち上げ: ターミナルで以下のコマンドを実行します。
   go run main.go
  1. 動作確認: ブラウザで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を挟むこともできて、認証やログなども手軽に実装できます。

参考資料