原文网址:SpringBoot–使用@RequestHeader获取请求头_IT利刃出鞘的博客-CSDN博客

简介

本文介绍SpringBoot如何通过@RequestHeader来获取请求头。

情景1:获取单个请求头

@RequestMapping("/getSingleHeader")public void getSingleHeader(@RequestHeader("user-id") String userId){}

情景2:获取所有请求头

法1:Map

如果使用Map接收,若请求头具有一个以上的值,我们只得到第一个值。这等效于在MultiValueMap上使用getFirst方法。

@RequestMapping("/getAllHeaders")public void listAllHeaders(@RequestHeader Map headers) {}

法2:MultiValueMap

如果我们的标头可能有多个值,我们可以将它们作为MultiValueMap获得

@RequestMapping("/listHeaders")public void listHeaders(@RequestHeader MultiValueMap headers) {}

法3:HttpHeaders

HttpHeaders内部是通过MultiValueMap实现的。

@RequestMapping("/listHeaders")public void listHeaders(@RequestHeader HttpHeaders headers) {}

情景3:通过request获取请求头

只要获取了request(HttpServletRequest),那就可以获得请求头了。

获得request的方法见:

SpringBoot–获取request(HttpServletRequest)的方法_IT利刃出鞘的博客-CSDN博客

通过request获取请求头的方法见:

SpringBoot–HttpServletRequest中的方法–使用/详解_IT利刃出鞘的博客-CSDN博客