我有一个API,它的响应如下:
{
ruleId:”123”,
ruleName:”Rule1”
}
现在,我将介绍一个新的API,它确实包含这些字段,但响应不应包含名称ruleId、ruleName,而应包含id、name:
{
id:”123”,
name:”Rule1”
}
我应该以这样一种方式进行更改,以便之前的Api响应不会受到影响。本想使用JsonProperty /JsonGetter,但它也会更改之前的Api响应。
有没有什么方法可以让我在同一个字段中使用两个getter,然后用一个getter来处理之前的API,用另一个getter来处理我的目的?(我只关心在将Pojo转换为JSON时)
有人能帮忙吗?
1条答案
按热度按时间brjng4g31#
由于您希望在不同的情况下以不同的方式序列化对象,因此最好使用jackson mix-in。
下面是一个例子
如果你的pojo看起来像这样:
首先,您需要创建一个接口(或类),如下所示:
此接口将用于在序列化期间重命名字段
ruleId
和ruleName
。完成所有这些设置后,您可以编写控制器方法并自定义ObjectMapper:
此端点应返回如下响应: