Jackson的@ JsonView,@ JsonFilter和Spring
问题内容:
可以同时使用Spring 和的注释,使用Jackson @JsonView
和@JsonFilter
注释来修改Spring MVC控制器返回的JSON
吗?MappingJacksonHttpMessageConverter``@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
,也许只是它的ID。然后,在随后的呼叫中,客户端可以使用该ID来请求ProductDescription
具有所有属性的完整实例。
能够在Spring MVC控制器方法上指定它是理想的,因为所调用的方法定义了客户端请求数据的上下文。
问题答案:
这个问题解决了!
跟随这个
添加对Jackson序列化视图的支持
Spring
MVC现在支持Jackon的序列化视图,用于通过不同的控制器方法呈现同一POJO的不同子集(例如,详细页面与摘要视图)。问题:SPR-7156
这就是SPR-7156。
状态:已解决
描述
Jackson的JSONView批注允许开发人员控制对方法的哪些方面进行序列化。在当前的实现中,必须使用Jackson视图编写器,但是内容类型不可用。如果可以将JSONView指定为RequestBody批注的一部分,那会更好。
在 Spring ver> = 4.1上可用
更新
点击此链接。举例说明@JsonView注释。