gpt4 book ai didi

java - 如何全局应用 @JsonIgnoreProperties(value = { "id"}) 所有 POJO 类应用程序 (jackson api)

转载 作者:搜寻专家 更新时间:2023-10-30 23:01:20 25 4
gpt4 key购买 nike

我有多个类,对于所有这些类,我不希望 id 字段成为我的输出 JSON 字符串(序列化)的一部分。假设我有 2 个类(class)

@JsonIgnoreProperties(value = { "id" })
public final class Person {
private ObjectId id;
//........
}

@JsonIgnoreProperties(value = { "id" })
public final class Address{
private ObjectId id;
//........
}

现在我不想在所有 1000 个类上手动指定 @JsonIgnoreProperties(value = { "id"})。有什么全局性的方法可以让我将这部分应用到我所有的类(class)中吗?非常类似于下面方法中的 mapper.setSerializationInclusion(Include.NON_NULL)

public String serialize(T dataObject) throws IOException {
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
String result = mapper.writeValueAsString(dataObject);
return result;
}

我尝试的一种方法是创建一个父类(super class)并在其上应用 @JsonIgnoreProperties(可行)。但是我仍然必须在我不喜欢的每个子类中写“扩展”。有什么方法可以应用此设置而无需在我的 pojo 类中添加任何额外内容?

最佳答案

可能有更有效的解决方案,但您可以使用排除不需要字段但保留所有其他字段的方案覆盖默认编码器。

关于java - 如何全局应用 @JsonIgnoreProperties(value = { "id"}) 所有 POJO 类应用程序 (jackson api),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54249983/

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