微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

404 将参数传递给 go-chi 中的 URL 时出错,即使参数已定义

如何解决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 举报,一经查实,本站将立刻删除。