SpringBoot中如何在过滤器中取get的参数值

简介: SpringBoot中如何在过滤器中取get的参数值

写在前面


在SpringBoot中取值的方式有很多,比如直接通过RequestBody注解直接解析映射到相关的实体类中,或者是通过request对象来获取get请求的参数。


但是今天我们的需求不太一样,是取值,但是又不是一般的取值。


具体的需求是要将所有的请求都要存入数据库中,比如前台访问一个接口,我们想要记录下这个访问记录,并且记录下本次访问的所有参数,当然,这里面无论是get请求还是post请求,都是要记录的。


今天我们就重点突破一下get请求的参数获取吧。


get请求参数获取需求场景


假设我们访问的链接是:http://localhost:8080/test/list?param1=参数1&param2=参数2


想要获取get请求的参数,其实就是获取param1=参数1 和 param2=参数2。


我们是可以通过request.getParamter("param1")来获取到相应的参数。


但是我们的需求不是这样的,而是动态的将所有的参数都取出来,而不是通过指定的参数名取到相关的值。

为什么呢?


因为在请求的过程中,我们不可能提前获知到将要传的是哪些参数名称,更别说通过这些参数名称来一一获取相应参数了。


解决方案


如何解决上述需求呢?那自然是要说一些HttpServletRequest对象的方法了。


HttpServletRequest对象提供了几个方法,可供我们使用,接下来举一些例子来看看。


比如:request.getServletPath(),这个方法用来获取访问路径。


场景中的链接经过此方法取到的值就是http://localhost:8080/test/list。


比如:request.getParamterMap(),这个方法就可以取到get请求中的全部参数了。


也就是param1=参数1 和 param2=参数2。


只不过这里还要注意一点,那就是这个方法返回的是一个Map<String,String[]>,需要自己去进行遍历才可以。


遍历就不在这里说了,今天就学习到这啦,你是否学会了呢?


相关文章
|
2月前
|
Java 容器
如何在SpringBoot项目中使用过滤器和拦截器
过滤器和拦截器是日常开发中常用技术,用于对特定请求进行增强处理,如插入自定义代码以实现特定功能。过滤器在请求到达 `servlet` 前执行,而拦截器在请求到达 `servlet` 后执行。`SpringBoot` 中的拦截器依赖于 `SpringBoot` 容器,过滤器则由 `servlet` 提供。通过实现 `Filter` 接口并重写 `doFilter()` 方法可实现过滤器;通过实现 `HandlerInterceptor` 接口并重写相应方法可实现拦截器。两者的主要区别在于执行时机的不同,需根据具体场景选择使用。
162 4
如何在SpringBoot项目中使用过滤器和拦截器
|
6月前
|
Java Spring 容器
【二十二】springboot整合拦截器实战并对比过滤器
【二十二】springboot整合拦截器实战并对比过滤器
81 0
|
3月前
|
SQL Java 测试技术
在Spring boot中 使用JWT和过滤器实现登录认证
在Spring boot中 使用JWT和过滤器实现登录认证
202 0
|
4天前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
18 2
|
22天前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
20 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
2月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
39 6
|
6月前
|
监控 IDE Java
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题
97 0
|
5月前
|
Java API 数据安全/隐私保护
在Spring Boot中,过滤器(Filter)是一种非常有用的组件
在Spring Boot中,过滤器(Filter)是一种非常有用的组件
80 6
|
4月前
|
安全 Java Spring
Spring Boot中的自定义过滤器
Spring Boot中的自定义过滤器
|
5月前
|
安全 Java Spring
Spring Boot中的自定义过滤器
Spring Boot中的自定义过滤器