我在我的 REST Controller 中使用 Spring 数据分页并返回分页实体。我想在 JSONViews 的帮助下控制以 JSON 形式返回的数据。
当我返回单个对象时,我能够实现结果。但是当我返回 Page 时,我收到了空白的 JSON 作为响应。
以下是我的方法签名。
@JsonView(TravelRequestView.MyRequests.class)
@RequestMapping("/travel/requests")
public Page<TravelRequest> getUserTravelRequests(
@RequestParam("ps") int pageSize, @RequestParam("p") int page,
@RequestParam(defaultValue = "", value = "q") String searchString)
当我删除 @JsonView 注释时,我能够收到响应。
最佳答案
如果您使用的是 spring-boot,那么另一个更简单的解决方案是将以下内容添加到 application.yml
spring:
jackson:
mapper:
DEFAULT_VIEW_INCLUSION: true
或 application.properties
spring.jackson.mapper.DEFAULT_VIEW_INCLUSION=true
使用这种方法,我们的优势在于保留由 Spring Container 管理的 ObjectMapper
而无需创建新的 ObjectMapper。因此,一旦我们使用 spring 管理的 ObjectMapper,那么我们定义的任何自定义序列化程序仍将继续工作,例如 CustomDateSerialzer
引用:http://docs.spring.io/spring-boot/docs/current/reference/html/howto-spring-mvc.html
关于java - Spring Data Pagination 使用 JSONView 不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31913410/