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

栏目: 软件资讯 · 发布时间: 5年前

内容简介:Mars-Java 3.0.26 更新如下: 参数校验注解@MarsDataCheck,支持作用域设置 JSON传参做了优化 对代码进行了大量优化,使其更稳定可靠 作用域设置 在实际开发中,很多VO对象会被作为多个接口的接参对象,这种情况下...

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/

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

征服C指针

征服C指针

前桥和弥 / 吴雅明 / 人民邮电出版社 / 2013-2 / 49.00元

《图灵程序设计丛书:征服C指针》被称为日本最有营养的C参考书。作者是日本著名的“毒舌程序员”,其言辞犀利,观点鲜明,往往能让读者迅速领悟要领。书中结合了作者多年的编程经验和感悟,从C语言指针的概念讲起,通过实验一步一步地为我们解释了指针和数组、内存、数据结构的关系,展现了指针的常见用法,揭示了各种使用技巧。另外,还通过独特的方式教会我们怎样解读C语言那些让人“纠结”的声明语法,如何绕过C指针的陷阱......一起来看看 《征服C指针》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换