如何解决404 将参数传递给 go-chi 中的 URL 时出错,即使参数已定义
我想从我的前端获取限制和偏移值。为此,我编写了以下路由路径
func (s *Server) stockRoutes() {
s.r.Route("/stock",func(r chi.Router) {
r.Get("/{limit}{offset}",s.ListStocks(s.ctx))
r.Route("/{id}",func(r chi.Router) {
r.Get("/",s.GetStock(s.ctx))
r.Put("/",s.UpdateStockDetails(s.ctx))
})
})
}
我正在以下列方式处理请求。我正在解析 limit 和 offset 的值
func (s *Server) ListStocks(ctx context.Context) http.HandlerFunc {
return func(rw http.ResponseWriter,r *http.Request) {
param,_ := strconv.Atoi(chi.URLParam(r,"limit"))
param2,"offset"))
limit := int32(param)
offset := int32(param2)
arg := db.ListStocksParams{
Limit: limit,Offset: offset,}
stocks,err := s.store.ListStocks(ctx,arg)
if err != nil {
http.Error(rw,"error returning list of stocks",http.StatusInternalServerError)
return
}
log.Printf("%+v",stocks)
json.NewEncoder(rw).Encode(stocks)
}
}
使用邮递员,我通过以下方式发送请求 http://localhost:8000/stock?limit=5&offset=0
。
谁能帮我理解我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。