このライブラリを使うといい感じに作れるみたいです。
https://github.com/ant0ine/go-json-rest
Golang初心者すぎるのでまずは動かすところから。
goのバージョン
こんな感じです。
$ go version
go version go1.4 darwin/amd64
コピペでJSONサーバー
go get
コマンドでライブラリをダウンロードしておきます。
$ go get github.com/ant0ine/go-json-rest/rest
パッケージが$GOPATH/src
以下に入っていることが確認できます。
$ ls $GOPATH/src/github.com/ant0ine
go-json-rest
APIpサーバープログラムを記述します。
api.go
package main
import (
"github.com/ant0ine/go-json-rest/rest"
"log"
"net/http"
)
func main() {
api := rest.NewApi()
api.Use(rest.DefaultDevStack...)
api.SetApp(rest.AppSimple(func(w rest.ResponseWriter, r *rest.Request) {
w.WriteJson(map[string]string{"Body": "Hello World!"})
}))
log.Fatal(http.ListenAndServe(":8080", api.MakeHandler()))
}
実行
go run
で実行できます。 localhost:8080にアクセスするとJSONが返ってきていることがわかるとおもいます。
$ go run api.go
09/Jun/2015:18:32:19 +0900 200 92μs "GET / HTTP/1.1" - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36"