Golang chi HTTP router建立hello world範例。
go-chi/chi是Go語言的輕量級的HTTP router套件用來撰寫REST API服務,其基於Go標準函式庫http的handler,並在REST API的結構設計及可維護性上具有優勢。chi的體積很小,核心套件程式碼不超過1000行(Line Of Code, LOC)。
範例環境
- Go 1.17
- chi v5
安裝
在專案根目錄輸入go get -u github.com/go-chi/chi/v5
取得chi。
~/../go-demo$ go get -u github.com/go-chi/chi/v5
go: downloading github.com/go-chi/chi/v5 v5.0.7
go: downloading github.com/go-chi/chi v1.5.4
go get: added github.com/go-chi/chi/v5 v5.0.7
範例
下面使用chi建立GET| /hello
API範例。
main.go
package main
import (
"fmt"
"net/http"
"github.com/go-chi/chi/v5"
)
func main() {
router := chi.NewRouter() // create chi router
router.Get("/hello", func(w http.ResponseWriter, r *http.Request) {
name := r.URL.Query().Get("name") // get URL query string
content := fmt.Sprintf("hello, %s", name)
w.Write([]byte(content))
})
http.ListenAndServe(":8080", router) // set router
}
測試
在命令列以curl發出curl -X GET "http://localhost:8080/hello?name=john"
的回應如下。
$ curl -X GET "http://localhost:8080/hello?name=john"
hello, john
沒有留言:
張貼留言