Spring Boot Hibernate约束验证器



我想通过使用Spring Boot和Hibernate Validator进行字段验证,而无需持续数据。

public class RoomDto {
    private long id;
    @Expose
    private int beds;
    @Expose
    private double size;
    @Expose
    @NotNull
    private String flatBasicStringDto;
}

我使用gson从JSON中解析DTO:

RoomDto guestRoom = this.jsonParser.read(RoomDto.class, "/files/input/room.json");

我想在JSON文件中缺少FlatbasicsTringdto时会出错。

我尝试了许多配置,但到目前为止什么都没有。

spring.jpa.properties.javax.persistence.validation.group.pre-persist=javax.validation.groups.Default

有什么想法如何处理这个问题?

您可以使用@Valid注释使用方法级别验证。但是,您需要DI容器来挂接验证框架。使用Spring的一个全面示例是在http://www.mkyong.com/spring-mvc/spring-3-mvc-and-jsr303-valid-example/。

如果您不想使用DI容器,则可以使用此类内容来获取验证错误:

 ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
 Validator validator = factory.getValidator();
 Set<ConstraintViolation<RoomDto>> errors = validator.validate(guestRoom);

最新更新