前提
Java SE 11、Spring Bootを使用して実装しています。
多数のカスタムクラスは、1つのインターフェイスを実装しています。あるメソッドの入力値は、多数のカスタムクラスの中のどれかのオブジェクトです。この入力値に対してBean Validationで入力チェックをします。
実現したいこと
Bean Validationにインターフェイスではなく、インターフェイスの実装クラスを指定させたいです。
発生している問題
インターフェイス型のオブジェクトに対してFactoryパターンを使用してどのクラスなのか特定し、Class<?>型で取得するところまでは実装できました。この結果をBean Validationに設定する方法がわかりません。
該当のソースコード
java
// InterfaceObject→実装されるインターフェイス // validObject→入力値 // インターフェイス型をConstraintViolationに設定させたくない。 ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); Validator validator = factory.getValidator(); // 何らかの方法でClass<?>からConstraintViolationに設定可能な結果を取得したい。 Set<ConstraintViolation<InterfaceObject>> constraintViolations = validator.validate(validObject);
まだ回答がついていません
会員登録して回答してみよう