У меня есть несколько классов, и для всех них я не хочу, чтобы поле id было частью моей выходной строки JSON (сериализация). Допустим, у меня есть 2 класса
@JsonIgnoreProperties(value = { "id" })
public final class Person {
private ObjectId id;
//........
}
@JsonIgnoreProperties(value = { "id" })
public final class Address{
private ObjectId id;
//........
}
Теперь я не хочу указывать @JsonIgnoreProperties(value = { "id" })
вручную для всех моих 1000 классов. Есть ли какой-нибудь глобальный способ сделать так, чтобы я мог применить эту часть для всех моих классов? Очень похоже на 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;
}
Один из способов, которые я попробовал, - создать суперкласс и применить к нему @JsonIgnoreProperties (что работает). Но все же я должен писать «распространяется» в каждом дочернем классе, который я не предпочитаю. Есть ли способ применить этот параметр, не добавляя ничего дополнительного в мой класс pojo?