Роутер 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")чтобы получить параметры запроса, это сработает.

Другие вопросы по тегам