springboot拦截请求路径_SpringBoot拦截器如何获取http请求参数

news/2024/12/22 13:18:01/

1.1、获取http请求参数是一种刚需

我想有的小伙伴肯定有过获取http请求的需要,比如想

前置获取参数,统计请求数据

做服务的接口签名校验

敏感接口监控日志

敏感接口防重复提交

等等各式各样的场景,这时你就需要获取 HTTP 请求的参数或者请求body,一般思路有两种,一种就是自定义个AOP去拦截目标方法,第二种就是使用拦截器。整体比较来说,使用拦截器更灵活些,因为每个接口的请求参数定义不同,使用AOP很难细粒度的获取到变量参数,本文主线是采用拦截器来获取HTTP请求。

1.2、定义拦截器获取请求

基于 spring-boot-starter-parent 2.1.9.RELEASE

看起来这个很简单,这里就直接上code,定义个拦截器

?

然后把这个拦截器配置一下中:

?

定义个接口测试一下

?

GET请求获取请求参数示例:

POST请求获取请求Body示例:

我们发现拦截器在获取HTTP请求的body时出现了 400 (Required request body is missing: public void com.axin.world.controller.MyHTTPController.check(com.axin.world.domain.User));同时也发现拦截器竟然走了两遍,这又是咋回事呢?


http://www.ppmy.cn/news/667474.html

相关文章

Cxf拦截器

Cxf拦截器 拦截器是Cxf的基础,Cxf中很多的功能都是由内置的拦截器来实现的,拦截器在Cxf中由Interceptor表示。Cxf的拦截器包括入拦截器和出拦截器,所有的入拦截器或出拦截器构成了一个拦截器链,它们可以作用在Server端也可以作用在…

Feign拦截器RequestInterceptor优先级排序详解

RequestInterceptor接口是Feign请求拦截接口,可以在请求发送之前添加header、记录日志等操作; 一、RequestInterceptor接口 public interface RequestInterceptor {/*** 每个请求都会调用apply方法*/void apply(RequestTemplate template); }其实现类有…

处理火绒弹窗拦截无法开机启动

问题 最近在使用Word时, 发现右下角弹广告, 一阵排查, 最后确认是Office助手搞的鬼. 处理完后有点纳闷, 按理来说弹窗会被火绒主动拦截才对, 去任务栏一看, 弹窗拦截没启动. 于是又去排查自动启动的问题, 如文章头图所示, 点了没反应. 排查 这里点名表扬下火绒的技术团队,…

SpringBoot中通过mybatis拦截器打印sql执行时间

真正的光明决不是永没有黑暗的时间,只是永不被黑暗所掩蔽罢了。真正的英雄决不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。——《约翰 • 克利斯朵夫》 1、引言 开发时,在控制台打印SQL语句的执行时间和语句对于调试bug和优化SQL语…

IP地址绕过 . 拦截

这里牵涉到IP地址的一个概念:整数和点分十进制 先来看下这两个IP的结果: 可以看到这两个不同IP结果是相同的,可以说明其等价,那么,如何将IP地址转换过去呢? 220.181.57.216 每部分准换成16进制是 DC B5 3…

SpringBoot 拦截器(Interceptor)的使用

拦截器intercprot 和 过滤器 Filter 其实作用类似 在最开始接触java 使用struts2的时候,里面都是filter 后来springmvc时就用interceptor 没太在意过区别,反正就是起检查作用的, 仔细阅读 过滤器(filter)和拦截器…

java自定义拦截所有请求_Java实现拦截HTTP请求的几种方式

在Java的服务端开发当中,拦截器是很常见的业务场景,这里对Java开发当中几种常见的拦截器的实现方式进行记录和分析。案例说明基于Spring Boot环境。 一:实现javax.servlet.Filter接口(使用过滤器方式拦截请求) import org.springframework.stereotype.Component; import jav…

mybatisplus拦截器处理处理sql

场景 在项目中,会出现一些对sql处理的需求,如果sql操作很多,为了简化处理,可以在sql执行的时候加入一个拦截器,并对将要执行的sql进行统一的处理。 这里已使用了mybatisplus客户端为例的实现方式。 代码实现 maven…