Golang chi router取得REST API的url路徑參數(path parameters)的方式如下。
範例環境
- Go 1.17
- chi v5
範例程式
路徑參數名稱以{...}
標示,並使用URLParam()
從http.Request
物件以路徑參數名稱取得參數。
main.go
package main
import (
"fmt"
"net/http"
"github.com/go-chi/chi/v5"
)
func main() {
router := chi.NewRouter() // create chi router
router.Get("/employee/{id}", func(w http.ResponseWriter, r *http.Request) {
id := chi.URLParam(r, "id") // get path param {id}
content := fmt.Sprintf("id=%s", id)
w.Write([]byte(content))
})
http.ListenAndServe(":8080", router) // set chi router
}
測試
在命令列以curl發出curl -X GET "http://localhost:8080/employee/123"
的回應如下。
$ curl -X GET "http://localhost:8080/employee/123"
id=123
沒有留言:
張貼留言