在REST API响应中更改字段名称

时间:2016-04-06 12:39:09

标签: java json spring rest spring-mvc

嗨,我是新手,所以我可能不理解高级解决方案!

所以我想发送REST API的响应。所以基本上发生的是我从方法中返回一个对象,然后这些对象的字段及其对应的值将显示在API响应中。

要清楚,我们假设我们有一个定义为

的类
Class Sample
{
    String fruit;
    int cost;
}

现在假设我们有一个上述类的对象(样本abc)。 我们还有一个方法如下:

@RequestMapping(/inventory)
public Sample getInventory()
{
    Sample abc = new Sample();
    ----Some processing----
    return abc;
}

所以我得到的回应是

{
    "fruit":"apple",
    "cost":100
}

现在我想要的是响应中的“fruit.name”,但显然我不能有一个带有该名称的字段(带点或@字符)!

{
    "fruit.name":"apple",
    "cost@Dollars":100
}

那么有什么方法可以帮助我做出这种反应?

1 个答案:

答案 0 :(得分:3)

如果您正在使用Jackson,则可以使用@JsonProperty

public class Sample {
  @JsonProperty("fruit.name")
  public String fruit;
  @JsonProperty("cost@Dollars")
  public int cost; 
}