2016-08-09 34 views
0

ich die folgende Fehlermeldung aus meiner REST-Schnittstelle bekommen:Deserialisieren Eigenschaft LOCALDATE mit Prahlerei und JAX-RS-

Problem Deserialisieren Eigenschaft ‚calculationStartDate‘ (erwartete Typ: [einfache Art, Klasse java.time.LocalDate ]; tatsächlicher Typ: org.joda.time.LocalDate)

Das ist sehr seltsam, weil ich überhaupt nicht Joda Zeit benutzen. Ich verwende Java 8 mit der Java 8 DateTime API.

Hier ist ein Kinderspiel des Code Entitätsklasse in Frage:

@ApiModelProperty(
     value = "De datum waarvoor de berekening moet worden uitgevoerd.", 
     required = true) 
@JsonDeserialize(using = LocalDateDeserializer.class) 
@JsonSerialize(using = LocalDateSerializer.class) 
private LocalDate calculationStartDate; 

Und hier sind alle Einfuhren für diese Klasse:

import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 
import com.fasterxml.jackson.databind.annotation.JsonSerialize; 
import com.fasterxml.jackson.datatype.joda.deser.LocalDateDeserializer; 
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer; 
import io.swagger.annotations.ApiModel; 
import io.swagger.annotations.ApiModelProperty; 
import java.io.Serializable; 
import java.time.LocalDate; 
import javax.xml.bind.annotation.XmlRootElement; 

Warum erhalte ich diesen Fehler im Antworttext ???

ich verwende Wildfly 10, mit dem ursprünglichen FasterXML (2.5.4) ersetzt für FasterXML 2.6.3 und Codierung im Klar Java EE 7 mit Prahlerei und Jackson-Datentyp-jsr310 hinzugefügt in meinem pom.xml:

<dependency> 
     <groupId>io.swagger</groupId> 
     <artifactId>swagger-jaxrs</artifactId> 
     <version>1.5.9</version> 
    </dependency> 
    <dependency> 
     <groupId>com.fasterxml.jackson.datatype</groupId> 
     <artifactId>jackson-datatype-jsr310</artifactId> 
     <version>2.6.3</version> 
    </dependency> 

Antwort

0

Sehr dumm. Ich importierte den falschen Deserializer:

import com.fasterxml.jackson.datatype.joda.deser.LocalDateDeserializer; 

sollte natürlich sein:

import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer; 

Problem gelöst!