的問題是很短:Bean驗證應用在接口類型
讓我們考慮有下面的類:
public class someClass implements someInterface {
@NotNull
String someString;
// ... some cool logic, getters, setters, etc.
}
該接口:
public interface SomeInterface {
// cool stuff
}
別的地方是這種方法:
public <T extends SomeInterface> T doStuff (T someInterface) {
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<T>> violatons = validator.validate();
// ...
// ...
// ...
return someInterface;
}
我沒有太多的BV經驗。 SomeClass中的someString會被驗證,還是我需要明確地將SomeInterface轉換爲SomeClass?
這裏的場景被簡化了。實際上,我有不同的通用類和接口,它意味着有點工作。這就是我仔細詢問的原因。
希望有一個專家猶豫不決!
在此先感謝!
您不需要明確地轉換它。它會爲你完成。 –
因此,如果我驗證一個自由選擇的接口,實現類將始終按預期進行驗證? –
是的,你不能驗證一個接口,你只能驗證一個實現。您擁有的實例是接口的實現,而不是接口本身。無論如何,該接口不能獨立存在。試試看看。 –