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

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

内容简介: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/

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


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

查看所有标签

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

Agile Web Application Development with Yii 1.1 and PHP5

Agile Web Application Development with Yii 1.1 and PHP5

Jeffrey Winesett / Packt Publishing / 2010-08-27

In order to understand the framework in the context of a real-world application, we need to build something that will more closely resemble the types of applications web developers actually have to bu......一起来看看 《Agile Web Application Development with Yii 1.1 and PHP5》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

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

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码