簡體   English   中英

使用Java Annotation進行參數驗證

[英]Parameter Validation using Java Annotation

據我所知,在Java中我們有參數驗證解決方案。 我相信JAX-RS在驗證和數據提取方面都有各種注釋。 我的問題是,如果我想為獨立的Java應用程序實現我自己的參數驗證類,我怎樣才能確保只有在驗證了參數時才執行方法? 我使用Reflection來@LowerCaseCheck參數,然后對其進行驗證,但不確定在哪里放置此驗證代碼。

public void print(@LowerCaseCheck String lowerCaseString) {
  ....
}

您需要更改方法的字節代碼以執行檢查(或調用執行檢查的方法)最簡單的方法可能是使用AspectJ等面向Aspect的庫。

看看gag是否有一個可以滿足您需求的庫的示例。 它使用asm字節碼操作庫在注釋方法的開頭插入驗證檢查。

你不能使用Bean Validation(JSR-303)來解決你的問題嗎? @Pattern(regexp)注釋似乎可以滿足您的需求。

public void print(@Pattern(regexp = "^[a-z]*$") String lowerCaseString) {
  ....
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM