问题描述
我想从我的前端获取限制和偏移值。为此,我编写了以下路由路径
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 (将#修改为@)