Java 8 LocalDate Jackson-Format
Für java.util.Datum wenn ich
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy")
private Date dateOfBirth;
dann in der JSON-Anfrage, wenn ich senden
{ {"dateOfBirth":"01/01/2000"} }
es funktioniert.
Wie sollte ich das tun für Java 8 LocalDate Feld??
Ich versucht, mit
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonSerialize(using = LocalDateSerializer.class)
private LocalDate dateOfBirth;
Es hat nicht funktioniert.
Kann jemand bitte lassen Sie mich wissen, was ist der richtige Weg, dies zu tun..
Unten sind die Abhängigkeiten
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>jaxrs-api</artifactId>
<version>3.0.9.Final</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>2.4.2</version>
</dependency>
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.3.10</version>
</dependency>
<dependency>
InformationsquelleAutor der Frage JAB | 2015-03-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich war nie in der Lage zu bekommen dies funktioniert einfach mit Anmerkungen. Um es zu arbeiten, habe ich eine
ContextResolver
fürObjectMapper
dann habe ich denJSR310Module
zusammen mit eine weitere Einschränkung war, die die Notwendigkeit einer write-Datum als timestamp zu false. Sehen Sie mehr an die Dokumentation für das Modul JSR310. Hier ist ein Beispiel was ich benutzt habe.Abhängigkeit
Hinweis: Ein problem, das ich konfrontiert ist, dass die
jackson-annotation
version gezogen von einer anderen Abhängigkeit, version 2.3.2, die zunichte gemacht, die 2.4 erforderlich, durch diejsr310
. Was passiert war, bekam ich eine NoClassDefFound fürObjectIdResolver
das ist ein 2,4-Klasse. So, ich brauchte nur ein line-up das mitgelieferte Abhängigkeit VersionenContextResolver
Ressource-Klasse
Test
Siehe auch hier für JAXB Lösung.
UPDATE
Den
JSR310Module
ist veraltet seit version 2.7 von Jackson. Stattdessen sollten Sie sich das ModulJavaTimeModule
. Es ist immer noch die gleiche Abhängigkeit.InformationsquelleAutor der Antwort Paul Samsotha
@JsonSerialize und @JsonDeserialize funktionierte gut für mich. Sie beseitigen die Notwendigkeit, importieren Sie die zusätzlichen jsr310 Modul:
Deserializer:
Serializer:
InformationsquelleAutor der Antwort Christopher Yang
funktioniert gut für mich.
InformationsquelleAutor der Antwort 欧阳世雄
In spring-boot-web-app, mit 'jackson' und 'jsr310" version "2.8.5"
'@JsonFormat' Werke:
InformationsquelleAutor der Antwort Tsolak Barseghyan
Nur ein update von Christopher Antwort.
Seit der version 2.6.0
Verwenden Sie die JavaTimeModule statt JSR310Module (veraltet).
Entsprechend der Dokumentationdie neue JavaTimeModule verwendet die gleichen standard-Einstellungen auf default-Serialisierung, die NICHT Timezone-Ids, und stattdessen nur mit ISO-8601-konform Zeitzone offsets.
Verhalten kann geändert werden, indem SerializationFeature.WRITE_DATES_WITH_ZONE_ID
InformationsquelleAutor der Antwort bdzzaid