Я обнаружил, что есть 2 способа сделать Gson Mapping для объектов Immutables:
Скажем, у вас есть следующий неизменный класс:
@Value.Immutable
public interface ABC {
String def();
String ghi();
}
2 способа:
- Положить
@Gson.TypeAdapters
поверх определения интерфейса ABC. И тогда, где мы используем объект Gson, мы можем использовать его следующим образом:
private static final Gson GSON = new GsonBuilder()
.registerTypeAdapterFactory(new ABC()).create();
И используйте этот объект Gson для создания карт.
- Положить
@Gson.TypeAdapters и @JsonAdapter (ABC.class)
поверх определения интерфейса ABC. И тогда, где мы используем объект Gson, мы можем использовать его следующим образом:
частный статический финал Gson GSON = new Gson ();
Может кто-нибудь сказать, какой путь предпочтительнее? Оба служат моей цели преобразования json в объект и наоборот. Я хотел знать, какая из них является предпочтительной практикой и почему?