SpringBoot--使用@RequestHeader获取请求头

深藏阁楼爱情的钟 2023-09-28 19:33 72阅读 0赞

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

简介

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

情景1:获取单个请求头

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

情景2:获取所有请求头

法1:Map

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

  1. @RequestMapping("/getAllHeaders")
  2. public void listAllHeaders(@RequestHeader Map<String, String> headers) {
  3. }

法2:MultiValueMap

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

  1. @RequestMapping("/listHeaders")
  2. public void listHeaders(@RequestHeader MultiValueMap<String, String> headers) {
  3. }

法3:HttpHeaders

HttpHeaders 内部是通过 MultiValueMap实现的。

  1. @RequestMapping("/listHeaders")
  2. public void listHeaders(@RequestHeader HttpHeaders headers) {
  3. }

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

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

获得request的方法见:

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

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

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

发表评论

表情:
评论列表 (有 0 条评论,72人围观)

还没有评论,来说两句吧...

相关阅读