Роутер golang Chi с параметрами запроса не работает
Я работаю над отдыхом в Голанге, используя чи. Я пытаюсь создать маршрут, как показано ниже
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
Могу ли я узнать проблему здесь?
2 ответа
Как упоминалось в @mkopriva, просто используйте r.URL.Query().Get("version")
чтобы получить параметр запроса.
Встретил эту проблему, нашел статус 404, для вашей ситуации используйте только/{number}/product
, не нужно добавлять содержимое?version={v}
, только сопоставьте чи с путем, а затем используйтеr.URL.Query().Get("version")
чтобы получить параметры запроса, это сработает.