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

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

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

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


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

查看所有标签

猜你喜欢:

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

嵌入式Linux应用程序开发详解

嵌入式Linux应用程序开发详解

孙琼 / 人民邮电出版社 / 2006-7 / 46.00元

《嵌入式Linux应用程序开发详解》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux的安装过程、基本操作命令讲起,为Linux初学者能快速入门提供了保证。接着系统地讲解了嵌入式Linux的环境搭建,以及嵌入式Linux的I/O与文件系统的开发、进程控制开发、进程间通信开发、网络应用开发、基于中断的开发、设备驱动程序的开发以及......一起来看看 《嵌入式Linux应用程序开发详解》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具