AdSense

網頁

2021/12/8

Golang chi router hello world範例

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


沒有留言:

AdSense