您的位置:首页 > 教育 > 培训 > Spring Web中RequestMapping接口获取request和header的内容的方式

Spring Web中RequestMapping接口获取request和header的内容的方式

2024/10/6 6:52:29 来源:https://blog.csdn.net/lizz861109/article/details/141068691  浏览:    关键词:Spring Web中RequestMapping接口获取request和header的内容的方式

在写接口时,经常需要获取请求中的header进行业务处理,比如签名内容,客户端信息等,我们可以通过下面三种方式获取header内容。

  • 一:从request中获取所有header
@GetMapping("/all-headers")
public ResponseEntity<Map<String, String>> getAllHeaders(HttpServletRequest request) {Map<String, String> headers = new HashMap<>();Enumeration<String> headerNames = request.getHeaderNames();while (headerNames.hasMoreElements()) {String headerName = headerNames.nextElement();headers.put(headerName, request.getHeader(headerName));}return ResponseEntity.ok(headers);
}
  • 二:使用@HttpHeaders注解
@GetMapping("/all-headers")
public ResponseEntity<Map<String, String>> getAllHeaders(@RequestHeader HttpHeaders headers) {Map<String, String> headerMap = new HashMap<>();headers.forEach((key, value) -> headerMap.put(key, String.join(",", value)));return ResponseEntity.ok(headerMap);
}
  • 三:使用@RequestHeader获取指定header
@GetMapping("/header")public ResponseEntity<String> getHeader(@RequestHeader("My-Header") String headerValue) {return ResponseEntity.ok("Header value: " + headerValue);}

注解还包含其他参数选项,可以根据需要使用。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com