如何在 Springboot 获取 http request和 http response 的几种方式

Posted 大树叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在 Springboot 获取 http request和 http response 的几种方式相关的知识,希望对你有一定的参考价值。

使用Springboot,我们很多时候直接使用@PathVariable、@RequestParam、@Param来获取参数,但是偶尔还是要用到request和response,怎么获取呢?

也很方便,有三种方式可以获取,任选其一就行。

1、通过静态方法获取,你也可以封装一个静态方法出来

@GetMapping(value = "")
public String center() 
    ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = servletRequestAttributes.getRequest();
    HttpServletResponse response = servletRequestAttributes.getResponse();
    //...


2、通过参数直接获取,只要在你的方法上加上参数,Springboot就会帮你绑定,你可以直接使用。如果你的方法有其他参数,把这两个加到后面即可。

@GetMapping(value = "")
public String center(HttpServletRequest request,HttpServletResponse response) 
    //...

3、注入到类,这样就不用每个方法都写了

@Autowired
private HttpServletRequest myHttpRequest;

@Autowired
private HttpServletResponse myHttpResponse;

@GetMapping(value = "")
public String center() 
    //refer to myHttpRequest or myHttpResponse

 

转自:https://www.jianshu.com/p/b1a9fb969d9a

 

以上是关于如何在 Springboot 获取 http request和 http response 的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:不能在 re.findall() 中的类似字节的对象上使用字符串模式

SpringBoot之在拦截器获取http请求的json数据公共参数的验证

通过正则表达式,获取股票数据(re.findall的应用)

无论如何从 AsyncResttemplate 获取 http.client.requests 指标?

SpringBoot项目中普通类获取http相关的类(request/response/sesion)

python爬虫获取中国天气网天气数据 requests BeautifulSoup re