You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中如何将所有HttpHeaders作为ResponseBody返回?

实现获取HttpHeaders并以键值对形式返回ResponseBody

你给出的代码已经能实现需求,以下是详细说明和优化后的代码:

实现逻辑

  • 借助Spring MVC的@RequestHeader注解,直接注入封装了所有请求头信息的HttpHeaders对象
  • 通过ResponseEntity.ok().body(headers)将该对象作为响应体返回,Spring会自动将其序列化为JSON格式的键值对结构

完整代码(带中文注释)

@RestController
@RequestMapping("/employee")
public class EmployeeController {

    @GetMapping
    public ResponseEntity<Object> getRequestHeaders(@RequestHeader HttpHeaders headers) {
        // 将所有请求头以键值对形式返回给前端
        return ResponseEntity.ok().body(headers);
    }
}

关键说明

  • @RestController:标记类为REST接口控制器,自动完成响应体的序列化工作
  • @RequestHeader HttpHeaders headers:自动注入当前请求的全部头信息,HttpHeaders本身是多值映射结构,会完整保存每个请求头键对应的所有值
  • 返回的响应会是JSON格式的键值对,示例返回结构如下:

{
"accept": ["/"],
"user-agent": ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36..."],
"host": ["localhost:8080"]
}

内容的提问来源于stack exchange,提问作者Abhijit Mondal Abhi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:53:10