报错信息
JSON parse error: Cannot construct instance of
xxx.entity.BrandEntity
(although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance ofxxx.entity.BrandEntity
(although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator)\n at [Source: (PushbackInputStream); line: 1, column: 2
报错原因
存在有参构造器,没有无参构造器,导致反序列化失败,继而SpringMVC无法转化前端传输过来的JSON字符串
根本原因
1、Lombok和JSR303产生的反应
- 正常情况下:实体类加上@Data注解,Lombok就会在编译时添加上类的空参构造器
- 但使用JSR303对实体类进行限制后使用@NotEmpty注解,导致Lombok将空参构造器改变成包含该注解在内的所有字段的有参构造器,原本应该生成的空参构造器没了