邮递员没有将@requestparams发送到spring应用程序,但如果我手动输入url,它就可以工作

问题描述 投票:0回答:1

我正在尝试在我的 Spring 应用程序中实现分页,但是我正在使用@requestParams。然而,Postman 无法将参数发送到我的 get 方法,这导致它们选择分配的默认值。

我已尝试多次重写参数,但是如果我在链接中输入带有请求参数的整个链接,那么它就可以工作 这是我的获取方法

@GetMapping("/api/public/categories")
public ResponseEntity<CategoryResponse> getallcategories(
    @RequestParam(name = "Page_number", defaultValue = Appconstants.PAGE_NUMBER,required = false) Integer pagenumber,
    @RequestParam(name = "Page size", defaultValue = Appconstants.PAGE_SIZE,required = false) Integer pgsize,
    @RequestParam(name = "Sortfield", defaultValue = Appconstants.SORT_CATEGORIES_BY, required = false) String sortby,
    @RequestParam(name = "sortorder", defaultValue = Appconstants.SORT_DEFAULT, required = false) String sortorder
) {
  return new ResponseEntity<>(
      cate.getallcategories(pagenumber, pgsize, sortby, sortorder),
      HttpStatus.OK
  );
}

这是完整的网址

http://localhost:8080/api/public/products
这是我的请求的示例](https://i.sstatic.net/pzx7OPwf.png)

当我像这样输入网址时,它就起作用了

java spring-boot rest postman
1个回答
0
投票

首先,你的API是

/api/public/categories
,但你正在尝试请求
api/public/products

当您构建应用程序并从浏览器发送 get 请求(如下所示)时,您必须获得成功响应。

enter image description here

您请求的参数名称必须与@RequestParam注解中的名称字段匹配。

删除名称字段内的空字符

   @RequestParam(name = "Page_size", defaultValue = Appconstants.PAGE_SIZE,required = false) Integer pgsize,

© www.soinside.com 2019 - 2024. All rights reserved.