Можно ли использовать аннотации Jackson @JsonView
и @JsonFilter
для изменения JSON, возвращенного контроллером MVC Spring, при использовании аннотаций MappingJacksonHttpMessageConverter
и Spring @ResponseBody
и @RequestBody
?
public class Product
{
private Integer id;
private Set<ProductDescription> descriptions;
private BigDecimal price;
...
}
public class ProductDescription
{
private Integer id;
private Language language;
private String name;
private String summary;
private String lifeStory;
...
}
Когда клиент запрашивает коллекцию Products
, я хотел бы вернуть минимальную версию каждого ProductDescription
, возможно, только его идентификатор. Затем в следующем вызове клиент может использовать этот идентификатор, чтобы запросить полный экземпляр ProductDescription
со всеми имеющимися свойствами.
Было бы идеально, если бы это можно было определить в методах контроллера Spring MVC, поскольку вызванный метод определяет контекст, в котором клиент запрашивал данные.