我想根据URL参数选择应用于我的数据的Json View。我正在尝试使用@JsonView
注释来实现此功能,并尝试了一些解决方案(1,2)。问题是这些解决方案基于返回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
);
}
答案 0 :(得分:1)
要使@JsonView
使用分页,您需要在true
中将以下属性设置为application.properties
:
spring.jackson.mapper.DEFAULT_VIEW_INCLUSION = true
这将使映射器也序列化未注释的属性,从而使分页能够工作。