今天对实体类进行修改的时候发现的一个问题,我需要实体类作为返回参数,这个类上面有@AllArgsConstructor注解
但是运行之后重新加载类,会报错
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.cicc.fx.vo.DealSummarySettleFeignRspVo` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
这个可以看出应该是序列化的时候构造方法出现问题了,那其实这个@AllArgsConstructor是我测试的时候方便构造对象才加上的,所以直接去掉注解就好了。
如果不去掉,就在注解上加上@NoArgsConstructor,因为加了@AllArgsConstructor注解就会为实体类创建一个有参数的构造方法,那默认的无参构造方法就没有了,而反序列化是需要无参构造方法的,所以加上@NoArgsConstructor