🐐

【golang】echoを使ってさくっとAPIを作成する話

2024/01/15に公開

Goが出た当初は環境設定がちょっとめんどかったイメージありますが、その辺をすっ飛ばして、公式に書いてる手順でechoを使って、さくっとAPIを実装していきます!
たぶん今はインストールすればGOPATHとかもいい感じに設定してくれるはずです!(ウソついてたらすみません。)

環境

  • Windows(10)
  • Go(1.21.4)
    • echo(v4)

事前準備

  • Goのインストール

手順

サンプルプロジェクトの作成

1. フォルダ作成と移動

コマンドプロンプトを開いて、任意のフォルダまで移動してください。
※ デフォルトの階層でよければそのまま

echoサンプル用のフォルダを作成

mkdir {{ 任意フォルダ名 }}

作成したフォルダへ移動

cd {{ ↑で入力したフォルダ名 }}

2. プロジェクトの初期化

ここはフォルダ名と異なってもOK

go mod init {{ 任意プロジェクト名 }}

成功していればリザルトメッセージが表示されます。

result
go: creating new go.mod: module {{ ↑で入力したプロジェクト名 }}

3. echoのインストール

go get github.com/labstack/echo/v4
result
go: added github.com/labstack/echo/v4 v4.11.4
go: added github.com/labstack/gommon v0.4.2
go: added github.com/mattn/go-colorable v0.1.13
go: added github.com/mattn/go-isatty v0.0.20
go: added github.com/valyala/bytebufferpool v1.0.0
go: added github.com/valyala/fasttemplate v1.2.2
go: added golang.org/x/crypto v0.17.0
go: added golang.org/x/net v0.19.0
go: added golang.org/x/sys v0.15.0
go: added golang.org/x/text v0.14.0

サンプルプログラムの作成

1. server.goを作る

先ほどのフォルダ配下にserver.goを作成します。
中身は公式のコードをコピペ。

server.go
package main

import (
	"net/http"
	"github.com/labstack/echo/v4"
)

func main() {
	e := echo.New()
	e.GET("/", func(c echo.Context) error {
		return c.String(http.StatusOK, "Hello, World!")
	})
	e.Logger.Fatal(e.Start(":1323"))
}

2. ローカルサーバーを起動する

コマンドプロンプトで以下のコマンドを実行します。
※Portが空いてないとセキュリティの警告が出ますが、「アクセス許可」します。

go run server.go

Portが「1323」でローカルサーバが立ち上がります。

result
   ____    __
  / __/___/ /  ___
 / _// __/ _ \/ _ \
/___/\__/_//_/\___/ v4.11.4
High performance, minimalist Go web framework
https://echo.labstack.com
____________________________________O/_______
                                    O\
⇨ http server started on [::]:1323

3. 起動確認

以下のリンクをクリックして、ブラウザに「Hello, World!」が表示されれば、GET APIの完成です!
http://localhost:1323

あとがき

echoの公式のQuick Startが優秀すぎて、わざわざ書かなくてもよかったのでは疑惑はありますが・・・。
アウトプットすることが大事ですよね!笑

参考

echo Quick Start

Discussion