Я хотів би, щоб Джексон десеріалізував клас за допомогою такого конструктора:
public Clinic(String name, Address address)
Десериалізувати перший аргумент легко. Проблема в тому, що Адреса визначається як:
public class Address {
private Address(Map<LocationType, String> components)
...
public static class Builder {
public Builder setCity(String value);
public Builder setCountry(String value);
public Address create();
}
}
і будується так: new Address.Builder().setCity("foo").setCountry("bar").create();
Чи є спосіб отримати пари ключ-значення від Джексона, щоб самостійно побудувати Адресу? Як варіант, чи є спосіб змусити Джексона використовувати сам клас Builder?
@JsonPOJOBuilder
анотації разом, перейменуйте "create" на "build" і коментуйте кожен із установників конструктора@JsonProperty
.