Spring用分页动态选择@JsonView

时间:2017-11-06 08:54:11

标签: spring spring-mvc spring-boot

我想根据URL参数选择应用于我的数据的Json View。我正在尝试使用@JsonView注释来实现此功能,并尝试了一些解决方案(12)。问题是这些解决方案基于返回MappingJacksonValue的控制器操作,但我不能使用它,因为我正在使用分页。

我的行动:

public ResponseEntity<Page<MyEntity>> findAll(
  int viewMode,
  Pageable pageable) {
    result = service.findAll(pageable);

  // Here I would like to apply a Json View to the result set depending 
  // on the variable viewMode

  return new ResponseEntity<Page<MyEntity>>(
    /* Resultset with the selected view applied, and paginated */, 
    HttpStatus.OK
  );
}

1 个答案:

答案 0 :(得分:1)

要使@JsonView使用分页,您需要在true中将以下属性设置为application.properties

spring.jackson.mapper.DEFAULT_VIEW_INCLUSION = true

这将使映射器也序列化未注释的属性,从而使分页能够工作。