Spring @RequestHeader教程

  • Post category:Java

Spring 中的 @RequestHeader 注解用于将 HTTP 请求头映射到处理程序方法的参数。在 Spring 中,可以使用 @RequestHeader 注解来获取 HTTP 请求头的值。

@RequestHeader 注解的基本用法如下:

  1. 在处理程序方法的参数上使用 @RequestHeader 注解
  2. 可以使用 value 属性指定请求头的名称
  3. 可以使用 required 属性指定请求头是否必须存在

以下是两个示例说明:

示例一:使用 @RequestHeader 注解获取 HTTP 请求头的值

要使用 @RequestHeader 注解获取 HTTP 请求头的值,可以使用以下代码:

@RestController
@RequestMapping("/users")
public class UserController {
    @GetMapping("/{id}")
    public User getUser(@PathVariable Long id, @RequestHeader("Authorization") String authorization) {
        // 获取用户
    }
}

public class User {
    private Long id;
    private String name;
    // ...
}

这将创建一个名为 UserController 的控制器类,并使用 @GetMapping 注解标记 getUser 方法。该方法将处理 HTTP GET 请求,并使用 @PathVariable 注解获取 URL 中的 id 参数,使用 @RequestHeader 注解获取 Authorization 请求头的值。

示例二:使用 @RequestHeader 注解获取可选的 HTTP 请求头的值

要使用 @RequestHeader 注解获取可选的 HTTP 请求头的值,可以使用以下代码:

@RestController
@RequestMapping("/users")
public class UserController {
    @GetMapping("/{id}")
    public User getUser(@PathVariable Long id, @RequestHeader(value = "Authorization", required = false) String authorization) {
        // 获取用户
    }
}

public class User {
    private Long id;
    private String name;
    // ...
}

这将创建一个名为 UserController 的控制器类,并使用 @GetMapping 注解标记 getUser 方法。该方法将处理 HTTP GET 请求,并使用 @PathVariable 注解获取 URL 中的 id 参数,使用 @RequestHeader 注解获取 Authorization 请求头的值。可以使用 required 属性指定请求头是否必须存在。在此示例中,Authorization 请求头是可选的。