【问题标题】:golang Chi router with query params not working带有查询参数的golang Chi路由器不起作用
【发布时间】:2018-08-20 14:51:45
【问题描述】:

我正在使用 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 未找到

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

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

【问题讨论】:

  • 只是猜测,因为我不是chi 用户,但我认为它与查询参数不匹配,因此在注册处理程序时将其忽略并使用r.URL.Query().Get("version") 检索值.

标签: rest go go-chi


【解决方案1】:

正如@mkopriva 所说,只需使用r.URL.Query().Get("version") 即可获取查询参数。

【讨论】:

    猜你喜欢
    • 2021-12-12
    • 2018-06-09
    • 2020-10-14
    • 2015-08-13
    • 2021-02-20
    • 2019-05-10
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多