震惊!你绝对想不到Spring可以这样获取请求入参出参
过滤器
在非侵入型的情况下获取请求信息,想必你肯定会想到过滤器。过滤器有可以得到两个信息,HttpServletRequest与HttpServletResponse,你肯定会觉得我用这个两个对象就可以获取想要的信息。那我们就来试试获取对应的信息吧
自定义HttpServletRequest
1.编写一个类输入流继承ServletInputStream的类:
2.编写一个自定义的Request继承HttpServletRequestWrapper:
3.大功告成
自定义 HttpServletResponse
1.编写一个类输出流继承ServletOutputStream的类:
2.编写一个自定义的Response继承HttpServletResponseWrapper:
3.大功告
AOP方式
断点跟踪下源码
1.首先写一个测试类
2.断点一下
3.从这里可以看到入参是从getMethodArgumentValues获取的,那么我们看下这个源码吧
4.方法参数从MethodParameter对象获取,我们来看看这个类
5.这里有参数名,我来重新断点一下,看下这个参数名是不是想要的
6.赞,这个就是想要的参数名,然后this.resolvers.resolveArgument是获取参数值的,那我们来看看resolvers在哪里进行赋值的
这里
功夫不负有心人
看下哪里调用这个方法
进去看看
出参入参的对象处理器设置都在这。来看下这个类的来历
大概的解释就是
支持自定义参数和返回值类型可以通过添加
* {@link #setCustomReturnValueHandlers}和{@link #setCustomReturnValueHandlers},
*或者,重新配置所有参数和返回值类型,
*使用{@link #setArgumentResolvers}和{@link #setReturnValueHandlers}
编写自定义MethodArgumentResolver
编写自定义HandlerMethodReturnValueHandler
加入出参入参处理器
打印效果
END
往期热门文章:
关注我哦

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
pika集群水平扩展——让性能容量不再受限
背景 Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大部分接口(兼容详情),解决redis由于存储数据量巨大而导致内存不够用的容量瓶颈。用户可以不修改任何代码从redis迁移到pika服务。具有良好的兼容性和稳定性,被360公司内部使用超过3000实例,github社区超过3.8K star。由于单机pika容量受限于单块硬盘容量的大小,360公司业务和社区对分布式pika集群的需求越来越强烈,因此我们推出了原生分布式pika集群,发布pika版本v3.4。与pika+codis集群方案相比,codis对pika创建和管理slot操作的支持并不友好,需要运维人员大量介入。而pika原生集群则不需要额外部署codis-proxy模块。 集群部署结构 以3个pika节点的集群为例,集群部署结构如上图所示: 部署Etcd集群作为pika manager的元信息存储。 3台物理机上分别部署pika manager,并配置好Etcd的服务端口。Pika manager会向etcd注册,并争抢成为leader。集群中有且只有一个pika...
- 下一篇
利用卷积神经网络学习脑电地形图表示进行分类
点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 脑电图(EEG)地形图表征(Electroencephalography topographical representation, ETR)可以监测区域大脑活动,是一种可以用于探索皮层机制和联系的技术。然而,如何找到一种鲁棒的方法来支持多目标对象、多通道的具有低信噪比的高维EEG数据是一个挑战。为了解决这一问题,厦门大学、海西研究院泉州装备制造研究所、华中师范大学以及云南民族大学等多所研究机构的研究人员联合提出了一种新的ETR能量计算方法,用于使用卷积神经网络学习大脑活动的EEG模式。它能够在一个通用的学习模型中识别多个对象。具体而言,研究人员在实验中使用里来自2008年脑机接口(BCI)竞赛IV-2a的数据集进行五类分类,其中包含四个运动想象动作和一个放松动作。在该项研究中,提出的分类框架的平均准确率比最好的分类方法高10.11%。另外,研究人员通过对ETR参数优化的研究,得到了一种用于BCI应用的用户界面,并实现了一种实时优化方法。 本研究的主要过程涉及生成ETR特征图并使用它们来训练CNN模型,从而实现对不同目标对象中...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS关闭SELinux安全模块
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作