编译器为Record生成构造函数和其他访问器方法。
就你而言
public final class Post extends java.lang.Record { public Post(int, int java.lang.String, java.lang.String); public java.lang.String toString(); public final int hashCode(); public final boolean equals(java.lang.Object); public int userId(); public int id(); public java.lang.String title(); public java.lang.String body();}在这里您可以看到Jackson并不需要默认的构造函数。您使用的构造函数是紧凑的构造函数,
public Post { }您可以将默认/无参数构造函数定义为
public record Post(int userId, int id, String title, String body) { public Post() { this(0,0, null, null); }}但是杰克逊使用Getter和Setters来设置值。简而言之,您不能使用Record映射响应。



