java - Spring Data Pagination 使用 JSONView 不返回任何结果

标签 java json spring spring-mvc pagination

我在我的 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/

相关文章:

java - 是否可以在Java中创建具有多个角色的MongoDb用户?

jquery - 错误 : Unable to parse bindings. 消息:ReferenceError:Id 未定义;绑定(bind)值:文本:Id

java - Spring 3.1.2 RowMapper参数化

java - 如何调试 JBossESB?

java - BlueJ 的矩形类

json - Swift .flatMap 未将 json 数据初始化为结构

mysql - 我无法使用 CRUD 操作将实体插入数据库

java - 如何使用具有不同验证注释的相同表单 DTO?如何避免双重代码?

Java:读取图像并显示为 ImageIcon

php - 从 dhtmlx 调度程序中删除 block 区域