java - Spring data util对重命名json名称

标签 java spring mongodb spring-boot spring-data-mongodb

我的第一篇文章在这里。我正在开发一个 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/

相关文章:

java - 如何在 Java 中比较字符串?

java - 如何从文本文件中读取整数值

java - Spring Batch 提交间隔不起作用并且工作行为很奇怪

java - JsonTest 导致 Spring 自动配置失败

java - 添加到触发器的 JobData 未传递给 Quartz 中的作业

java - 如何在 Android 中连接到 MongoDB 数据库?

mongodb - 从多个 MongoDB 中读取以形成数据集

java - 尝试从 Google Analytics API 中提取受众数据

java - 如何在android上加载 native 库?

java - 从数据库中检索其余数据( Jersey )