Chciałbym, aby Jackson deserializował klasę za pomocą następującego konstruktora:
public Clinic(String name, Address address)
Deserializacja pierwszego argumentu jest łatwa. Problem polega na tym, że adres jest zdefiniowany jako:
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();
}
}
i jest zbudowany w następujący sposób: new Address.Builder().setCity("foo").setCountry("bar").create();
Czy istnieje sposób na uzyskanie par klucz-wartość od Jacksona w celu samodzielnego skonstruowania adresu? Alternatywnie, czy jest sposób, aby Jackson użył samej klasy Builder?
@JsonPOJOBuilder
wszystkich adnotacji razem, zmień nazwę „utwórz” na „buduj” i dodaj adnotację do każdego ustawiacza budującego@JsonProperty
.