2016-11-30 12 views
0

SpringブートとHibernate Validatorを使用してデータを永続化せずにフィールド検証を行いたいと思います。SpringブートHibernate Constraint 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"); 

私はflatBasicStringDtoはJSONファイルに不足しているときにエラーを取得したいと思います。

多くの設定を試しましたが、これまでのところ何も動作しません。

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

この問題を解決する方法はありますか?

答えて

1

@validアノテーションを使用してメソッドレベルの検証を行うことができます。ただし、検証フレームワークにフックするにはDIコンテナが必要です。春を使った包括的な例はhttp://www.mkyong.com/spring-mvc/spring-3-mvc-and-jsr303-valid-example/です。

あなたはDIのcontainterを使用したくない場合は、検証エラーを取得するには、このようなものを使用することができます。

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

スプレンディッド答え!どちらの提案もうまく動作します。私は間違ったアプローチをしているようです。ありがとうございました! –

関連する問題