Mars-Java 3.0.26 更新如下:
- 参数校验注解@MarsDataCheck,支持作用域设置
- JSON传参做了优化
- 对代码进行了大量优化,使其更稳定可靠
作用域设置
在实际开发中,很多VO对象会被作为多个接口的接参对象,这种情况下如果在属性上加@MarsDataCheck注解,会导致所有用到这个对象的接口,都需要遵循这个校验规则。
但是实际中会出现这种情况:A接口需要这个字段非空,但是B接口又不需要非空。
这个时候,就需要作用域了。举个例子:
有一个VO对象
public class ExpVO {
private String name;
private String address;
}
有三个接口用它作为接参对象【注意看注释】
@MarsApi(refBean = "expApiService")
public interface ExpApi {
List<ExpVO> expGetRequest(ExpVO expVO);
@RequestMethod(ReqMethod.POST)
List<ExpVO> expPostRequest(ExpVO expVO);
@RequestMethod(ReqMethod.POST)
List<ExpVO> saveRequest(ExpVO expVO);
}
我们可以用如下方式来设置ExpVo的属性校验【注意看注释】
在@MarsDataCheck注解里设置api属性
public class ExpVO {
@MarsDataCheck(notNull = true, msg = "名称不可以为空", apis={"exp*"})
private String name;
@MarsDataCheck(notNull = true, msg = "地址不可以为空", apis={"expPostRequest","saveRequest"})
private String address;
}
注:
- 如上面示例所示,api属性支持配置多个接口名,同时也支持通配符
- apis属性如果不配置,则表示任意使用该VO的接口,都遵循这个校验规则
项目官网:http://www.mars-framework.com/
个人微博:@个人开发者-俞晔 |