Go言語からGORMとECHOでJSONを返すAPIサーバー作ってみる。
GORMとECHOでMYSQLのデータからJSONを返すシンプルなAPIサーバー作ってみる。 ECHOはシンプルな構成でサーバーを構築できる印象、使いやすい。ひとまずDBから取得したデータをJSON化して返す事ができました。
GORMの部分は前回作成したサンプルをAPIサーバー用にアレンジ。 onga-tec.hatenadiary.jp
ルーティングは以下のように指定できる。
func main() { fmt.Println("sever start") e := echo.New() u := userModel.User{} h := handler.CreateHandler(u) e.GET("/", status) e.GET("/user/:id", h.GetUser) e.POST("/user", h.CreateUser) e.DELETE("/user", h.DeleteUser) e.Run(standard.New(":3001")) }
今回作成したサンプル、ところどころ修正が必要を感じる、、ここはおってベストプラクティスを探していこう。 gist.github.com
TEST
handler部分のtest
go test ./handler/ -v
model部分のtest
go test ./models/user/ -v
WEB
サーバー起動
go run app.go
以下のアドレスで確認できるはず。
http://127.0.0.1:3001/user/1
Goはtestが前提の設計がされているので、自然に無理なくtestを書く事ができるのは本当にいいところ、積極的にtestを書いていこう。
ちなみに、gopherって何の動物をモチーフにしているのだろうか、?きになる、、