来了,来了,Mars-Java 的属性校验注解,支持作用域设置了
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/
个人微博:@个人开发者-俞晔
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于情景记忆激活与再巩固的持续关系学习
本文基于AAAI-2020论文《Continual Relation Learning via Episodic Memory Activation and Reconsolidation》,论文由清华大学和腾讯微信AI团队合作完成。 导语:在智能搜索、自动问答等现实应用中,知识图谱正在扮演越来越重要的作用,图谱中丰富的结构化信息可以辅助实现更加精细的语义理解。为了不断地完善现有知识图谱的覆盖度,关系抽取被广泛研究,力图从无结构化的海量文本中挖掘出结构化知识。然而,在现实的开放文本环境下,实体间新的语义关系也在不断出现,如何持续地学习这些新关系就成为了一大难题,尤其在不大量使用历史数据反复重新训练模型的前提下。对此,作者提出一套持续关系学习模型,支持模型不断地在新关系的数据上进行训练,在掌握新关系的特性的同时,避免灾难性地忘记旧关系的特性。具体而言,我们采用了基于情景记忆和记忆回放机制的持续学习框架,并额外引入了记忆再巩固阶段。再巩固阶段中,我们采用了原型学习的思路,确保每次情景记忆模块激活与回放后,旧关系的记忆样本与记忆原型依然匹配,使得模型能够较好地保留对旧关系的认知。作者在当前主...
- 下一篇
PHP 框架 QueryPHP 1.0 正式版,四年打磨生产可用!
今天是一个非常特殊的日期,在这里我们将向大家宣布一个重要的消息,完全重写的 QueryPHP 1.0 正式版发布了! 关于 QueryPHP QueryPHP 是一款现代化的高性能 PHP 渐进式协程框架, 我们还是主要面向传统 PHP-FPM 场景,以工程师用户体验为历史使命,让每一个 PHP 应用都有一个好框架。 百分之百单元测试覆盖直面 Bug,致力于创造高品质产品 Level Level Leevel,依托 Swoole 开启未来更多可能,此刻未来逐步渐进。 我们的愿景是 USE LEEVEL WITH SWOOLE DO BETTER, 让您的业务撑起更多的用户服务。 https://github.com/hunzhiwange/queryphp https://gitee.com/dyhb/queryphp https://www.queryphp.com 特性 Production-Ready (生产可用) 框架理念 (值得托付的使命感,让每一个 PHP 应用都有一个好框架。) 组件系统 (框架底层由独立的高内聚低耦合组件构成,可以轻松无侵入接入现有系统。) 路由...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Windows10,CentOS7,CentOS8安装Nodejs环境