Mars-Java 3.0.26 更新如下:
在實際開發中,很多VO物件會被作為多個介面的接參物件,這種情況下如果在屬性上加@MarsDataCheck註解,會導致所有用到這個物件的介面,都需要遵循這個校驗規則。
但是實際中會出現這種情況:A介面需要這個欄位非空,但是B介面又不需要非空。
這個時候,就需要作用域了。舉個例子:
public class ExpVO {
private String name;
private String address;
}
@MarsApi(refBean = "expApiService")
public interface ExpApi {
// 這個介面name不可以為空,address可以為空
List<ExpVO> expGetRequest(ExpVO expVO);
// 這個介面name和address都不可以為空
@RequestMethod(ReqMethod.POST)
List<ExpVO> expPostRequest(ExpVO expVO);
// 這個介面address不可以為空,name可以為空
@RequestMethod(ReqMethod.POST)
List<ExpVO> saveRequest(ExpVO expVO);
}
在@MarsDataCheck註解裡設定api屬性
public class ExpVO {
/*
* expGetRequest 和 expPostRequest兩個介面都不允許name為空
* 只需要在apis屬性裡配置這兩個介面即可,但是由於他們都是exp開頭的
* 所以用萬用字元即可
*/
@MarsDataCheck(notNull = true, msg = "名稱不可以為空", apis={"exp*"})
private String name;
/*
* saveRequest 和 expPostRequest兩個介面都不允許address為空
* 只需要在apis屬性裡配置這兩個介面即可
*/
@MarsDataCheck(notNull = true, msg = "地址不可以為空", apis={"expPostRequest","saveRequest"})
private String address;
}
注:
專案官網:http://www.mars-framework.com/
個人微博:@個人開發者-俞曄
[admin
]