Saya ingin Jackson melakukan deserialisasi kelas dengan konstruktor berikut:
public Clinic(String name, Address address)
Deserialisasi argumen pertama itu mudah. Masalahnya adalah bahwa Alamat didefinisikan sebagai:
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();
}
}
dan dibangun seperti ini: new Address.Builder().setCity("foo").setCountry("bar").create();
Apakah ada cara untuk mendapatkan pasangan nilai-kunci dari Jackson untuk membuat Alamat sendiri? Atau, adakah cara agar Jackson menggunakan kelas Builder itu sendiri?
@JsonPOJOBuilder
semua anotasi secara bersamaan, ganti nama "create" menjadi "build" dan beri anotasi pada setiap penyetel pembuat@JsonProperty
.@Jacksonized
yang menggantikan pembangun dalam dan anotasi jackson dengan satu hal@Jackonized
adalah fitur eksperimental yang baru saja dirilis di Lombok. Menurut saya, tidak perlu mendorong penggunaan fitur eksperimental secara tidak perlu. b) pertanyaan tidak menyebutkan atau menggunakan Lombok. Saya tidak berpikir itu adalah ide yang baik untuk memperkenalkan ketergantungan yang tidak perlu untuk memecahkan masalah.