繁体   English   中英

发布实体时 Spring Data Rest 警告

[英]Spring Data Rest Warn when post an entity

我有一个带有 Spring Data Rest 的 Spring Boot 2.5.2 项目(龙目岛也是)。 实体:

@Entity
@Table(uniqueConstraints = {
        @UniqueConstraint(name = "IDX_COUNTRY_NAME_UNQ", columnNames = {"NAME"}),
        @UniqueConstraint(name = "IDX_COUNTRY_CODE_UNQ", columnNames = {"CODE"})
})
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Country extends BaseNamedCodedEntity {
}

超类:

@MappedSuperclass
@Getter
@Setter
public abstract class BaseNamedCodedEntity extends BaseNamedEntity {
    @NotNull
    @Column(updatable = false, nullable = false, unique = true)
    protected String code;
}

@MappedSuperclass
@Getter
@Setter
public abstract class BaseNamedEntity extends BaseEntity {

    @NotNull
    @Column(nullable = false)
    private String name;
}

@MappedSuperclass
@Getter
public abstract class BaseEntity {
    @Id
    @GeneratedValue(generator = "UUID")
    @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
    @Column(updatable = false, nullable = false)
    private UUID id;
}

所有休息请求都可以正常工作。 但是当我用 Postman 发送一个简单的 POST 时:

{
    "name": "Test",
    "code": "Test"
}

实体保存在数据库中,但在 IDEA 控制台中我有一个警告:

2021-06-26 19:24:33.097  WARN 15420 --- [nio-8090-exec-5] tion$ResourceSupportHttpMessageConverter : Failed to evaluate Jackson deserialization for type [[simple type, class org.springframework.data.rest.webmvc.PersistentEntityResource]]: java.lang.NullPointerException

当通过 NullPointerException 调试时,我在org.springframework.data.rest.webmvc.json.AggregateReferenceResolvingModule的方法中捕获它

public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription beanDesc, BeanDeserializerBuilder builder)

我在 [property '_links'] 中看到,propertyType:null。 那是 Spring Data Rest 错误吗?

将 Spring Boot 升级到 2.5.3 将解决该问题。

这是由于 Spring Data REST 版本 3.5.0 (#2033 ) 中引入的一个错误。 它已在 Spring Data REST 3.5.3 版中得到修复,该版本包含在 Spring Boot 2.5.3 中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM