业务背景介绍:在设计人脸库的时候从人脸库中做删除的操作,需要在人脸的服务中调用人脸的库的服务,这时候需要判断库中的人脸的数据是否满足删除的操作,这时候后需要传入给人脸库的参数包括有,人的ID,删除的数量。
于是就设计了DTO来做传输参数,但是发现DTO设计完,并且通过单元测试的时候,在人脸服务调用人脸库进行删除操作就出现了500的异常,通过控制台发现是DTO没有被序列化
这时候我们就需要添加无参构造方法,因为java序列化默认是需要一个无参构造方法。这时候就可以正常访问。
这个情况是因为我们原来的IOC容器都是通过反射来获取对象实例,而对象实例一般都是单例的形式出现,这时候就需要通过无参构造方法来提供支持。
当然,如果你是用来 lombok这个第三方的jar包来对DTO进行注解,可以通过**@NoArgsConstructor**来提供支持
使用lombok组件的时候Feign需要DTO有无参构造方法
最新推荐文章于 2024-06-11 17:21:06 发布