【发布时间】:2020-02-07 11:57:56
【问题描述】:
我的 Spring Boot 应用程序控制器包含如下方法,带有可选的 Pageable 参数。
@RequestMapping(method = RequestMethod.GET)
@Override
public Page<MarkupView> getAllMarkup(Pageable pageable) {
System.out.println("Page size" + pageable.getPageSize() ) // prints 20
return markupService.getAllMarkups(pageable);
}
我的问题是当我使用 swagger-ui 传递查询参数时,这些值不会绑定到可分页对象。为什么我说无论我是否将值 5 作为查询参数传递,它都会将 pageSize 打印为 20。
请求网址: http://localhost:8080/api/markups?offset=2&pageNumber=1&pageSize=5
上面的 Get 请求返回包含所有 MarkupView 记录的页面对象。
【问题讨论】:
-
我使用 page=1&size=5 而不是 pageNumber &pageSize
-
您的参数名称错误。您应该改用
page和size。见docs.spring.io/spring-data/jpa/docs/current/reference/html/… -
谢谢大家,它的作品,但我想知道为什么 swgger-ui 像我上面使用的那样采用这些参数。 :)
标签: java spring-boot spring-data-jpa swagger-ui query-parameters