Três maneiras de obter HttpServletRequest no desenvolvimento do SpringBoot

Método 1: Parâmetros do método do controlador

Escreva HttpServletRequest no parâmetro method do Controller, para que toda vez que uma requisição for feita, o HttpServletRequest correspondente seja obtido.

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

Método 2: obter do contexto RequestContextHolder

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

Método 3: injeção de dependência @Autowired

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

Req de injeção de dependência é um objeto proxy. Especificamente, por que @Autowired req é thread-safe, falarei sobre isso na próxima vez.

おすすめ

転載: blog.csdn.net/qq_27480007/article/details/130461657