0

我想从我的前端获取限制和偏移值。为此,我编写了以下路由路径

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))
        })
    })
}

我正在以下列方式处理请求。我正在解析限制和偏移的值

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, _ := strconv.Atoi(chi.URLParam(r, "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。谁能帮我理解我做错了什么?

4

0 回答 0