具有查询参数的 golang Chi 路由器不起作用

我正在使用 chi 在 golang 中提供宁静的服务。我正在尝试创建如下路线


r.Mount("/api/dest", router.NewDestRouter(chi.NewRouter(), destSrv).InitRoutes())


func (dr *DestRouter) InitRoutes() http.Handler {

    dr.router.Post("/{number}/product?version={v}", handlers.HandleProduct(dr.dest))

    return dr.router

}

但是我试图通过邮递员到达这个终点,我得到一个 404 not found


http://localhost:8345/api/dest/1235abc/product?version=1

我可以知道这里的问题吗?


小怪兽爱吃肉
浏览 100回答 2
2回答

四季花海

只需使用r.URL.Query().Get("version")来获取查询参数。

撒科打诨

遇到这个问题,发现status 404,你的情况,只用with /{number}/product,不用加内容?version={v},chi只匹配路径,然后用r.URL.Query().Get("version")get查询参数就可以了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go