报错
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException:
Cannot construct instance of `com.example.springredis.pojo.User` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
Jackson 在反序列化 JSON 数据为 Java 对象时,默认需要一个无参构造函数。而你的 User
类中只有一个带参数的构造函数,没有无参构造函数,这会导致 Jackson 无法创建 User
对象实例。
解决办法:
在 User
类中添加无参构造函数。可以手动添加,也可以使用 Lombok 的 @NoArgsConstructor
注解。
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class User {
public User(String name, int age) {
this.name = name;
this.age = age;
}
String name;
int age;
}