Spring @RepositoryRestController导致@PageableDefault停止工作

时间:2016-12-02 23:04:55

标签: java spring spring-data spring-data-rest

我有一个使用@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不起作用了。但是当客户端发出请求(例如向URL明确添加(或不添加)&amp; page = 0&amp; size = 20)来自控制器的端点时,pageable始终为null。我不知道为什么它在更改注释后停止工作?有没有办法解决它,除了改回@Controller?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。

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

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