如何将多个不同的请求主体映射到同一POJO

时间:2018-10-08 10:10:52

标签: java json spring-boot http-post mapping

我有不同的职位请求正文,如下所示:

{
   "name": "US",  
   "amount": "1234"    
}

{
   "fullName": "US",  
   "transAmount": "1234"    
}

我创建了一个Java过滤器来修改我的Spring Boot应用程序中的那些请求主体。我想将它们转换为统一格式,以使所有请求正文都可以映射到同一POJO。

最终,“名称”和“全名”保留被映射为名称, “金额”和“ transAmount”应映射为金额。我该如何实现?

2 个答案:

答案 0 :(得分:3)

您可以使用JsonAlias:

@JsonAlias({"name", "fullName"})
private String name; 

答案 1 :(得分:1)

看看@JsonAlias here

public class Info {
  @JsonAlias({"name", "fullName"}
  public String name;

  @JsonAlias({"amount", "transAmount"}
  public double amount;
}