一尘不染

前往:从http.Request获取路径参数

go

我正在使用Go开发REST API,但是我不知道如何执行路径映射并从中检索路径参数。

我想要这样的东西:

func main() {
    http.HandleFunc("/provisions/:id", Provisions) //<-- How can I map "id" parameter in the path?
    http.ListenAndServe(":8080", nil)
}

func Provisions(w http.ResponseWriter, r *http.Request) {
    //I want to retrieve here "id" parameter from request
}

http如果可能的话,我想只使用包而不是Web框架。

谢谢。


阅读 531

收藏
2020-07-02

共1个答案

一尘不染

如果您不想使用任何可用的路由包,则需要自己解析路径:

将/ provisions路径路由到您的处理程序

http.HandleFunc("/provisions/", Provisions)

然后根据需要在处理程序中拆分路径

id := strings.TrimPrefix(req.URL.Path, "/provisions/")
// or use strings.Split, or use regexp, etc.
2020-07-02