全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-18 6 分钟 ✍️ juanwangdev

请求头与Cookie

SpringMVC提供专门注解获取HTTP请求头和Cookie信息。

RequestHeader

获取请求头信息。

基本使用

Java
@Controller
public class DemoController {

    @GetMapping("/header")
    public String getHeader(
        @RequestHeader("User-Agent") String userAgent,
        @RequestHeader("Accept") String accept
    ) {
        System.out.println("User-Agent: " + userAgent);
        System.out.println("Accept: " + accept);
        return "success";
    }
}

常用属性

Java
@GetMapping("/info")
public String info(
    @RequestHeader(value = "Content-Type", required = false) String contentType,
    @RequestHeader(value = "Authorization", defaultValue = "") String auth
) {
    return "success";
}
属性说明
value请求头名称
required是否必填,默认true
defaultValue默认值

获取所有请求头

Java
@GetMapping("/headers")
public String headers(@RequestHeader Map<String, String> headers) {
    headers.forEach((k, v) -> System.out.println(k + ": " + v));
    return "success";
}

CookieValue

获取Cookie值。

基本使用

Java
@Controller
public class SessionController {

    @GetMapping("/session")
    public String getSession(@CookieValue("JSESSIONID") String sessionId) {
        System.out.println("Session ID: " + sessionId);
        return "success";
    }
}

常用属性

Java
@GetMapping("/token")
public String getToken(
    @CookieValue(value = "token", required = false, defaultValue = "") String token
) {
    System.out.println("Token: " + token);
    return "success";
}
属性说明
valueCookie名称
required是否必填
defaultValue默认值

常用请求头

请求头说明
User-Agent客户端信息
Accept接受的内容类型
Content-Type请求体类型
Authorization认证信息
Host主机名
Referer来源页面

请求头不存在且required=true时,抛出ServletRequestBindingException异常。

要点总结

  • @RequestHeader:获取请求头,value指定名称
  • @CookieValue:获取Cookie值,value指定名称
  • 两者都支持required和defaultValue属性
  • 可使用Map接收所有请求头
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 PathVariable注解
下一篇 → POJO参数绑定
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码