在java对象中只使用@Builder后,http请求接口报错:
{"code":1,"error":"Type definition error: [simple type, class A; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `A` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)\n at [Source: (PushbackInputStream); line: 1, column: 35] (through reference chain:
报错原因:
在使用@Builder注解后,Jackson无法通过默认构造函数创建实例。@Builder注解会生成一个带有所有参数的构造函数,但是Jackson默认使用无参构造函数来创建对象。
要解决这个问题,你可以在类上添加@NoArgsConstructor注解,以生成无参构造函数。