Spring @RepositoryRestController 导致 @PageableDefault 停止工作

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

我有一个使用 @PageableDefault 注释的自定义控制器。我在我的类上使用了 @Controller 注释,但是,我想让这个控制器以 HATEOAS 响应进行响应。我添加了 @RepositoryRestController 将我的方法更改为

public HttpEntity<PagedResources<Resource<Books>>> search(
                      @RequestParam(value = "q", required = false) String query,
                      @PageableDefault(page = 0, size = 20) Pageable pageable)

然后返回

return new ResponseEntity<PagedResources<Resource<Books>>> booksAssembler
                                               .toResource(queryResult), HttpStatus.OK);

现在我的@PageableDefault 不起作用。但是,当客户端从控制器发出请求(例如,显式添加(或不添加)&page=0&size=20 到 URL)端点时,pageable 始终为 null。我不明白为什么它在更改注释后停止工作?除了改回@Controller之外还有什么办法可以修复它吗?

java spring spring-data spring-data-rest
1个回答
1
投票

我找到了解决方案。

我遇到了这个错误。 https://jira.spring.io/browse/DATAREST-906

我使用的是 Spring Boot 1.4.1,升级到 1.4.2 解决了问题。

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