原文网址: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<String, String> headers) {

}

法2:MultiValueMap

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

@RequestMapping("/listHeaders")
public void listHeaders(@RequestHeader MultiValueMap<String, String> headers) {

}

法3:HttpHeaders

HttpHeaders 内部是通过 MultiValueMap<String, String>实现的。

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

}

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

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

获得request的方法见:

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

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

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐