这是在使用Jackson对接口或者抽象类进行反序列化的时候出现的问题,从问题中可以看出是构造器的问题,找不到默认的构造器,为什么会找不到默认的构造器呢,因为在创建类的时候JDK自动创建一个默认的无参构造方法,但是我们自己添加了一些构造方法,这样的话就把默认的构造方法改了,也就找不到了。
解决办法是只需要在接口的实现类或者抽象类的子类中添加一个无参构造方法即可。
例如:
package ;
public class Test {
private String a;
// 添加此无参构造方法
public Test() {
}
public Test(String a) {
= a;
}
public String getA() {
return a;
}
}