内容简介:Mars-Java 3.0.26 更新如下: 参数校验注解@MarsDataCheck,支持作用域设置 JSON传参做了优化 对代码进行了大量优化,使其更稳定可靠 作用域设置 在实际开发中,很多VO对象会被作为多个接口的接参对象,这种情况下...
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 {
// 这个接口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/
个人微博:@个人开发者-俞晔
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 更加灵活的参数校验,Spring-boot自定义参数校验注解
- SpringBoot实现通用的接口参数校验,注解实战
- SpringBoot系列之使用自定义注解校验用户是否登录
- vue实战 - 车牌号校验和银行校验
- 一坨一坨的 if/else 参数校验,终于被 Spring Boot 参数校验组件整干净了
- SpringMVC——数据校验
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Single Page Web Applications
Michael Mikowski、Josh Powell / Manning Publications / 2013-9-30 / USD 44.99
Code for most web sites mostly runs on the server. When a user clicks on a link, the site reacts slowly because the browser sends information to the server and the server sends it back again before di......一起来看看 《Single Page Web Applications》 这本书的介绍吧!