Vorrei che Jackson deserializzasse una classe con il seguente costruttore:
public Clinic(String name, Address address)
Deserializzare il primo argomento è facile. Il problema è che l'indirizzo è definito come:
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();
}
}
ed è costruito in questo modo: new Address.Builder().setCity("foo").setCountry("bar").create();
C'è un modo per ottenere coppie chiave-valore da Jackson al fine di costruire l'indirizzo da solo? In alternativa, c'è un modo per convincere Jackson a usare la stessa classe Builder?
@JsonPOJOBuilder
annotazione, rinominare "create" in "build" e annotare ciascuno dei builder setter con@JsonProperty
.