该代码在接参的时候报了一个缺少无参构造函数无法序列化的错误,原因分析:
@NoNull 在编译时源码会生成一个有参构造,用来判空的,因为 lombook 根据 @NonNull 生成了一个有参构造函数,导致 jdk 不会添加默认的无参构造函数。没有无参构造函数,反序列化时候使用了这个构造方法,其他的值没有被赋值,就会失败。
改进方法:使用 @NotNull,对 String 类型使用 @NotBlank或者在自定义的VO中增加一个无参构造。