当前位置: 代码迷 >> 综合 >> SpringBoot 开发中 HttpServletRequest获取得三种方式
  详细解决方案

SpringBoot 开发中 HttpServletRequest获取得三种方式

热度:88   发布时间:2024-02-23 14:48:34.0

得到HttpServletRequest的三种方式

方式一:Controller方法参数

在Controller的方法参数上写上HttpServletRequest,这样每次请求过来得到就是对应的HttpServletRequest。

@GetMapping("/test")
public void test(HttpServletRequest request) {}

方式二:从RequestContextHolder上下文获取

@GetMapping("/test")
public void test(HttpServletRequest request) {// 从请求上下文里获取Request对象ServletRequestAttributes requestAttributes = ServletRequestAttributes.class.cast(RequestContextHolder.getRequestAttributes());HttpServletRequest contextRequest = requestAttributes.getRequest(); }

方式三:依赖注入@Autowired

@Autowired
HttpServletRequest req;@GetMapping("/test")
public void test(HttpServletRequest request) {}

依赖注入req是代理对象,具体@Autowired  req为什么线程安全,下篇博客 再讲。