力软敏捷开发框架可以做网站后台,家在深圳罗湖,网址搜索引擎入口,湛江企业模板建站一、RequestHeader 注解的作用
RequestHeader 是 Spring MVC 中的注解#xff0c;用于从 HTTP 请求头中提取特定字段的值。 在你的代码中#xff1a;
RequestHeader(Authorization) String token#xff1a;从请求头中获取名为 Authorization 的字段值#x…一、RequestHeader 注解的作用
RequestHeader 是 Spring MVC 中的注解用于从 HTTP 请求头中提取特定字段的值。 在你的代码中
RequestHeader(Authorization) String token从请求头中获取名为 Authorization 的字段值并赋值给 token 参数。RequestHeader(User-Agent) String userAgent获取客户端浏览器信息。
二、Authorization 字段的来源
Authorization 是一个标准的 HTTP 请求头字段其定义来自 HTTP 协议规范RFC 7235 用于客户端向服务器传递身份验证凭证如令牌、用户名密码。格式通常为Authorization: 认证类型 凭证。 例如
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9...
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ OAuth 2.0 或 JWT 等认证机制 现代 Web 应用中Authorization 字段常被用于传递 JWTJSON Web Token 或 OAuth 令牌。
三、代码中的 Authorization 从哪里来
Authorization 字段的值由客户端如浏览器、App在发送请求时添加常见来源 前端代码手动设置如 Axios 请求
axios.get(/profile, {headers: {Authorization: Bearer token // token 可能来自登录后的存储}
});
浏览器自动发送如 Basic Auth
fetch(/profile, {headers: {Authorization: Basic btoa(username:password)}
});
中间件自动处理如拦截器、过滤器
// 例如JWT 认证过滤器会从 Cookie 或 LocalStorage 中读取 token添加到请求头
request.addHeader(Authorization, Bearer token);
四、服务端如何使用这个 token
在你的 getProfile 方法中获取到 token 后通常会
验证 token 有效性如签名、过期时间。解析 token 获取用户信息如用户 ID、角色。根据用户信息查询数据库返回用户资料。
示例代码
GetMapping(/profile)
public User getProfile(RequestHeader(Authorization) String token) {// 1. 提取 token移除 Bearer 前缀String jwtToken token.replace(Bearer , );// 2. 验证 token实际项目中通常用 JWT 库Claims claims jwtService.parseToken(jwtToken);// 3. 获取用户 IDLong userId Long.valueOf(claims.getSubject());// 4. 查询数据库返回用户信息return userRepository.findById(userId).orElseThrow();
}
五、总结
Authorization 是标准的 HTTP 请求头字段用于传递认证凭证。它由客户端在请求时添加服务端通过 RequestHeader 注解获取。常见用途JWT 认证、OAuth 2.0 令牌传递、Basic Auth 等。
通俗理解 Authorization 就像你去银行办业务时出示的身份证告诉服务器 我是谁而 RequestHeader 则是服务器读取你身份证信息的工具。