【发布时间】:2019-04-13 10:17:48
【问题描述】:
我有一个模型类,它有一个字段:
@JsonDeserialize(using = InstantDeserializer.class)
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZ")
private OffsetDateTime offsetDt;
当这个模型的请求发送到服务器时,我的控制器抛出异常:
Caused by: java.lang.IllegalArgumentException:
Class com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer
has no default (no arg) constructor
pom.xml有2.8.11版本的依赖:
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>
我知道这是由@JsonDeserialize 需要无参数构造函数引起的,但是有解决方法吗?非常感谢。
【问题讨论】:
-
InstantDeserializer.class是自定义反序列化器类?,如果我相信该类,您可以声明一些没有无参数构造函数的 arg 构造函数 -
@Deadpool 不,它不是自定义类.. com.fasterxml.jackson.datatype.jsr310.deser
-
你的 POM 是什么样子的?
-
看这个答案stackoverflow.com/a/45215515/4727666,你需要一个类的构造函数不带参数,所以你可以扩展 InstantDeserializer 来创建你自己的。
标签: java json jackson fasterxml jsr310