gpt4 book ai didi

java - Jackson 的@JsonView、@JsonFilter 和 Spring

转载 作者:IT老高 更新时间:2023-10-28 12:49:47 39 4
gpt4 key购买 nike

可以使用 Jackson @JsonView@JsonFilter 注释来修改 Spring MVC Controller 返回的 JSON,同时使用 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 的最小版本,也许只是它的ID。然后在随后的调用中,客户端可以使用此 ID 请求具有所有属性的 ProductDescription 的完整实例。

最好能够在 Spring MVC Controller 方法上指定这一点,因为调用的方法定义了客户端请求数据的上下文。

最佳答案

这个问题解决了!
关注 this

Add support for Jackson serialization views

Spring MVC now supports Jackon's serialization views for rendering different subsets of the same POJO from different controller methods (e.g. detailed page vs summary view). Issue: SPR-7156

这是 SPR-7156 .

Status: Resolved

Description

Jackson's JSONView annotation allows the developer to control which aspects of a method are serialiazed. With the current implementation, the Jackson view writer must be used but then the content type is not available. It would be better if as part of the RequestBody annotation, a JSONView could be specified.

提供于 Spring ver >= 4.1

更新

关注 link .举例说明@JsonView 注解。

关于java - Jackson 的@JsonView、@JsonFilter 和 Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7637467/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com