github.com/joffrey-bion/livedoc/blob/master/livedoc-core/src/...
у код, который должен получить доступ к списку свойств класса, как это определено конфигурацией Джексона.
Например, для следующего класса:
@JsonIgnoreProperties(value = { "intValue" })
public class MyDto {
@JsonProperty("name")
private String stringValue;
private int intValue;
private long longValue;
@JsonIgnore
private boolean booleanValue;
// standard setters and getters are not shown
}
я бы получил[name,longValue]
потому что это свойства, которые Джексон учитывает при сериализации.
Я не думаю, что написание целого куска кода для поиска получателей / установщиков и проверки аннотаций Джексона - это путь, так как это будет переопределять Джексона.
Если я смогу справиться с ДжексономObjectMapper
используется для сериализации, есть ли способ получить список свойствClass<?>
или жеType
объект? (с учетом аннотаций и конфига Джексона)
Я немного покопался в реализации Джексона и нашелPOJOPropertiesCollector
, но я не уверен, как я могу использовать это снаружи Джексона (мы не должны делать это, я верю).
В крайнем случае, я мог бы создать экземпляр проверяемого класса, сериализовать его с ObjectMapper, а затем проанализировать JSON, чтобы найти имена свойств, но я не думаю, что это тоже чисто (и это принесло бы его весь набор проблем: нули не могут быть сериализованы, что происходит в конструкторе и т. д.).
Есть идеи?