網頁

2021/12/8

Golang chi router 取得url路徑參數 get path parameters

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


沒有留言:

張貼留言