我的第一篇文章在这里。我正在开发一个 API,但发现了一个我不知道如何解决的问题。 我正在尝试获取数据库中所有产品的剩余库存。我使用 Spring boot 和 MongoDB 以及 Spring Data 依赖项。 这是我的代码:
@GetMapping("/remaining-stock")
public ResponseEntity<List<Pair<String, Integer>>> showAllStock() throws EmptyDepositException{
List<Pair<String, Integer>> allStock;
try {
allStock = depServ.showAllStock();
}catch(EmptyDepositException ex) {
allStock = null;
}
return ResponseEntity.ok(allStock);
}
当我执行 GET 请求时,这是我得到的 JSON:
[
{
"first": "Water",
"second": 5
},
{
"first": "Milk",
"second": 40
}
]
这些值都可以,但我想用更好的名称重命名变量名称,如下所示:
[
{
"Product name": "Water",
"Remaining stock": 5
},
{
"Product name": "Milk",
"Remaining stock": 40
}
]
有办法做到这一点吗?
抱歉我的英语不好,我来自阿根廷,所以也许有些事情不清楚。我希望你可以帮助我。 提前谢谢大家。
最佳答案
可以使用@JsonProperty注解
,表示将字段名
作为属性名,不做任何修改,但可以指定为非空值指定不同的名称。属性名称是指外部使用的名称,如 JSON 对象中的字段名称
。
public class Product implements Serializable {
@JsonProperty("Product name")
private String first;
@JsonProperty("Remaining stock")
private long second;
// implement methods for getters and setters
}
关于java - Spring data util对重命名json名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58453511/