Nach dem Aktualisieren meines Projekts auf Spring Boot 1.5.10 Lombok hörte auf, richtig mit Jackson zu arbeiten. Ich meine unveränderliche DTO-Erstellung, wenn Feldnamen in meinen Objekten nicht dieselben wie Felder in JSON-Anforderung sind:
%Vor%Nach der Aktualisierung von Spring Boot auf 1.5.10 funktioniert dieser Code nicht und ich muss lombok wie folgt konfigurieren:
%Vor% Kennt jemand eine andere Möglichkeit, solche Objekte mit jackson + lombok ohne diese Lombok-Fix zu erstellen?
Anstelle dieses Fixes kann ich folgenden Code verwenden: @JsonPOJOBuilder
und @JsonDeserialize(builder = MyDto.MyDtoBuilder.class)
:
Aber es funktioniert nicht mit @JsonProperty("other-field-1-name")
.
Ofc, kann es durch einfache @JsonCreator
getan werden, aber vielleicht gibt es eine Möglichkeit, es mit Lombok mit einigen Konstruktor / Jackson Annotationen zu verwenden?
Das ist also nicht der exakt gleiche Fall, aber das funktioniert für mein Problem. Ich benötige die @ JsonDeserialize Annotation für den Builder, indem ich ihn dort auf dem Builder installiere, um das Problem zu lösen (auf Kosten des Standardcodes). Zumindest muss ich den Rest des Builders nicht eingeben.
%Vor%Tags und Links java jackson spring-boot immutability lombok