gpt4 book ai didi

java - 使用 Java、Spring 进行基于配置文件的可切换 JSON 压缩

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:50:02 25 4
gpt4 key购买 nike

对于 Jackson,字段上的注释 @JsonProperty("a") 会将其名称序列化为 a。对于 Gson,这将作为 @SerializedName("a") 完成。

注释类的所有序列化字段并使用默认的 Jackson 设置将导致缩小的 JSON 响应,这是我们想要实现的。

这显然会混淆响应,因此最好将其设为可选。对于非生产配置文件,应关闭缩小,而生产配置文件应使用缩小版本。

该应用程序使用 Spring Boot 2(REST + 数据)和 Java 8,目前使用 Jackson 进行序列化,但这可能会发生变化。构建是通过 Maven 完成的。

我们可以为此使用 Spring 或 Maven 配置文件。

推测:

  • 删除注释并使用基于配置文件的 bean 配置 Jackson/Gson。不确定是否可能。

  • 目前未使用 Jackson 注释。我可以从一个外部模块中加入我自己的实现,并根据配置文件在虚拟和真实的之间切换,希望我的不会被自动配置。脏了,可能无法工作。

  • 复制响应实体,但这很丑陋且难以维护。

无论如何,问题是如何使 JSON 压缩基于配置、可切换。

最佳答案

The indentation is not a problem. Maybe my question is not clear. The issue is regarding minifying the field names. Non-prod, I'd like to have "someLongFieldName" : 1. With prod profile, "s":1.

您可以使用占位符。使用 @JsonProperty("${your.property}") 而不是 @JsonProperty("a")。 Spring boot 将评估表达式并将其替换为适当的字符串。

关于java - 使用 Java、Spring 进行基于配置文件的可切换 JSON 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45075348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com