您现在的位置是:首页 > 文章详情

来了,来了,Mars-Java 的属性校验注解,支持作用域设置了

日期:2020-07-22点击:400

Mars-Java 3.0.26 更新如下:

  1. 参数校验注解@MarsDataCheck,支持作用域设置
  2. JSON传参做了优化
  3. 对代码进行了大量优化,使其更稳定可靠

作用域设置

在实际开发中,很多VO对象会被作为多个接口的接参对象,这种情况下如果在属性上加@MarsDataCheck注解,会导致所有用到这个对象的接口,都需要遵循这个校验规则。

但是实际中会出现这种情况:A接口需要这个字段非空,但是B接口又不需要非空。

这个时候,就需要作用域了。举个例子:

有一个VO对象

 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); }

我们可以用如下方式来设置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; }

注:

  • 如上面示例所示,api属性支持配置多个接口名,同时也支持通配符
  • apis属性如果不配置,则表示任意使用该VO的接口,都遵循这个校验规则

 

项目官网:http://www.mars-framework.com/

个人微博:@个人开发者-俞晔

原文链接:https://www.oschina.net/news/117376/mars-java-3-0-26-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章