Spring 中的 @RequestHeader 注解用于将 HTTP 请求头映射到处理程序方法的参数。在 Spring 中,可以使用 @RequestHeader 注解来获取 HTTP 请求头的值。
@RequestHeader 注解的基本用法如下:
- 在处理程序方法的参数上使用 @RequestHeader 注解
- 可以使用 value 属性指定请求头的名称
- 可以使用 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 请求头是可选的。