我知道这个问题已被问过几次,但即使我使用建议的解决方案,我也无法让它工作。
我需要的是使用作为json对象的一部分进入的LocalDate。采用以下格式:
"date":{"year":2016,"month":10,"day":9}
正如建议我使用自己的XmlAdapter
import javax.xml.bind.annotation.adapters.XmlAdapter;
import java.time.LocalDate;
public class LocalDateAdapter extends XmlAdapter<String, LocalDate> {
@Override
public LocalDate unmarshal(String s) throws Exception {
return LocalDate.parse(s);
}
@Override
public String marshal(LocalDate localDate) throws Exception {
return localDate.toString();
}
}
我正在我的模型类中使用注释。
@XmlJavaTypeAdapter(type=LocalDate.class, value = LocalDateAdapter.class)
protected LocalDate date;
@XmlJavaTypeAdapter(type=LocalDate.class, value = LocalDateAdapter.class)
public LocalDate getDate() {
return date;
}
调试时,调试器会触发unmarshal方法但字符串参数为空&#34;&#34;。
我正在使用jersey-media-moxy,这是我朋友的一部分
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
<artifactId>grizzly-http-server</artifactId>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-grizzly2-http</artifactId>
</dependency>
你愿意告诉我我做错了什么吗?谢谢:))