我有一個類A(在下面列出),它可以保存許多不同型別的屬性。當然,這些屬性可以是不同的型別。基于屬性的型別,我想對其應用一些驗證。
在 Micronaut 中最好的方法是什么?
這是我想要實作的示例:
public class A {
private String type;
private String value;
// getter/setter omitted…
}
A類的一些示例實體:
{type: "type1", value: "examplevalue1"}
{type: "type2", value: "examplevalue2"}
{type: "type2", value: "examplevalue3"}
然后我有一些與各自型別相關的驗證規則。每種型別 ( type1, type2, type3) 都有單獨的驗證規則集。這些規則不僅限于字串驗證,還包括語意和業務驗證。
uj5u.com熱心網友回復:
我會使用每種型別的特定類來解決這個問題。可以引入一個介面A
interface A {
String getType();
}
然后實作具體型別。
public class Type1 implements A {
@NotBlank
private String value;
@Override
public String getValue() { return this.value; }
public void setValue(String v) { this.value = v; }
}
public class Type2 implements A {
@YourCustomValidator
private String value;
@Override
public String getValue() { return this.value; }
public void setValue(String v) { this.value = v; }
}
然后實作一個自定義的 Jackson Deserializer,它能夠A通過檢查 JSON 字串欄位來構建一個實體type。
我不認為 Drools 與這個問題有任何關系。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/533805.html
標籤:爪哇验证微航
