echoについて
echo
はLabStack LLCという企業が開発を行っているマイクロフレームワークです。
Goのマイクロフレームワークといえばecho
かgin
のどちらかという感じが個人的にあります。
グルーピングについて
echoでAPIを開発しているとき、以下のように同じようなパスが複数できることがあります。特にAPIであれば/api/v1
などを先頭に付けたりすることになるでしょうから、この手間を省きたいですよね。
func main() {
e := echo.New()
e.GET("/api/v1/xxx", func(c echo.Context) error {
return c.String(http.StatusOK, "xxx")
})
e.GET("/api/v1/yyy", func(c echo.Context) error {
return c.String(http.StatusOK, "yyy")
})
e.GET("/api/v1/zzz", func(c echo.Context) error {
return c.String(http.StatusOK, "zzz")
})
e.Logger.Fatal(e.Start(":1323"))
}
グルーピングする
以下のようにechoにはGroupという機能があります。これを利用すること以下のように/api/v1のパスでまとめることができます。
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello World")
})
g := e.Group("/api/v1")
g.GET("/api/v1/xxx", func(c echo.Context) error {
return c.String(http.StatusOK, "xxx")
})
g.GET("/api/v1/yyy", func(c echo.Context) error {
return c.String(http.StatusOK, "yyy")
})
g.GET("/api/v1/zzz", func(c echo.Context) error {
return c.String(http.StatusOK, "zzz")
})
e.Logger.Fatal(e.Start(":1323"))
}