外观
如何编写一个自定义拦截器来统一添加请求头(如 Token)?
标准回答
实现 Interceptor.intercept:取 chain.request(),用 request.newBuilder().header("Authorization", value).build() 创建新请求,再 return chain.proceed(newRequest)。通过 addInterceptor 注册。Token 只加到预期受信任的目标域名,并设计失效刷新与并发去重。
通俗例子
拦截器从当前登录状态读取 Token,生成新的 Request 并交给下一站;不要给不相关域名也附带同一令牌。
深入解释
**统一加请求头的流程:**拦截器取得原请求,用 builder 构造带新 Header 的请求,再交给后面的链执行。凭据应从受控的会话来源取得,而不是写死在代码里。
**哪些请求不能直接照搬:**不是每个目标域名都应该收到同一个 Token。重定向、外部下载地址和退出登录后的请求都要核对凭据范围,日志也不要完整打印敏感头。
内容来源
- Android · AI Agent 知识手册 · 原条目
6.1.3