文档章节

JAVA反射技术之自动装载/自动验参

Coody
 Coody
发布于 2017/03/18 11:59
字数 280
阅读 158
收藏 1

对于一个后端API项目,令我们感到繁琐的,无非就参数的验证。

传统的做法,在每个接口内部,写一大堆if else判断。且响应,容易遗漏。

而本文的做法,主张通过一个注解来验证参数。

 

如图:

 

 

1、假如后端某个接口的入参是一个对象:

 

2、假如前端的请求参数是一个map

3、假如这些参数需要遵循这些格式

 

OK,那我们继续,当然,以上只是假如,本文体现反射技术的核心思想。不管是什么数据类型,对于反射来说,意义不大。

ParaCheckHandle.checkAndInvok(Object bean,Method method,Map<String, Object> paraMap);验证并执行该方法。如果验证不通过,那么将返回错误码,如果验证通过,则会自动装载参数且执行

 

以上的几张截图已经实现了自动装载和验证参数。

 

下面给出demo地址(请根据实际项目加以整改便可兼容):

 

链接: https://pan.baidu.com/s/1qYJcQC0 密码: ygdr

 

© 著作权归作者所有

Coody
粉丝 57
博文 21
码字总数 24033
作品 5
广州
后端工程师
私信 提问
java的反射和它的类加载机制

java 的类装载系统: 在java虚拟机中有两种类装载器: 启动类装载器 和 自定义类装载器。 前者是jvm的一部分,后者是java程序的一部分。不同的类装载器放在不懂得命名空间中。 类转载子系统涉...

Richard_sun
2013/01/18
491
0
java 中静态代码块执行的时机

1、简单认为JAVA静态代码块在类被加载时就会自动执行 是错误的 2、正解:static块真正的执行时机 一个类的运行分为以下步骤: 装载 连接 初始化 装载阶段 通过类型的完全限定名,产生一个代表...

职业搬砖20年
2018/07/06
19
0
案例认识 Spring IOC

本文spring libs 地址:https://github.com/yizhiamumu/springlibs Spring 能帮我们做什么 ①.Spring 能帮我们根据配置文件创建及组装对象之间的依赖关系。 ②.Spring 面向切面编程能帮助我们...

一只阿木木
2018/08/16
0
0
老司机带你深入浅出Java反射

反射,它就像是一种魔法,引入运行时自省能力,赋予了 Java 语言令人意外的活力,通过运行时操作元数据或对象,Java 可以灵活地操作运行时才能确定的信息 这里笔者就深入浅出总结下Java反射,...

小刀爱编程
2018/11/07
139
0
Java基础之反射(非常重要)

反射是框架设计的灵魂 (使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)) 一、反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道...

Java-老刘
2018/05/15
330
0

没有更多内容

加载失败,请刷新页面

加载更多

一、docker 入坑(win10和Ubuntu 安装)

前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了。所以对于我们程序员而言,又...

quellanan2
26分钟前
4
0
AutoCompleteTextView

小技巧按菜单键 当菜单打开之前会调用onMenuOpened(int featereId,Menu menu),可以重写这个方法,弹出对话框或者Popmenu 再布局中添加控件AutoCompleteTextView. <AutoCompleteTextVie...

逆天游云
29分钟前
4
0
谷歌软件商店:推出5美元会员 可用数百个软件

腾讯科技讯,谷歌和苹果是全球两大智能手机操作系统的运营者,两家公司旗下分别拥有占据行业垄断地位的谷歌软件商店和苹果软件商店。据外媒最新消息,手机软件商店的商业模式正在发生一些变化...

linuxCool
51分钟前
3
0
RocketMQ 多副本前置篇:初探raft协议

Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofda...

中间件兴趣圈
51分钟前
3
0
elasticsearch 6.8.0 添加认证

1. 修改elasticsearch-6.8.0/config/elasticsearch.yml 最后添加一行:xpack.security.enabled: true 2. 初始化用户和密码 ./bin/elasticsearch-setup-passwords interactive 我这里初始化为......

coord
53分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部