java - 更改 REST API 响应中的字段名称

标签 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
}

那么有什么方法可以帮助我获得这种响应吗?

最佳答案

如果您使用 Jackson你可以使用@JsonProperty

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

关于java - 更改 REST API 响应中的字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36451435/

相关文章:

java - Hibernate 架构在部署时自动删除

java - 选择计算动态查询的存储过程无法正常工作

json - 如何将图像添加到服务器上现有的图像数组中? Xcode

jquery - 使用 jQuery 组织 JSON 结果

java - spring 核心中的 Autowiring 冲突与 xml 配置

java - 如何计算阶乘并显示工作?

JavaScript 创建对象结构数组

java - 如何在 MapReduce 中将信息从一个 reducer 传递到另一个 reducer

java - jsf *.xhtml 映射不起作用,重定向到 jsp

Java - lambda 推断类型