SuperAPI AI 工具集

alamofire-patterns

设计与创作

查看项目

更新于 10-15 23:44

技能介绍

用途:为 iOS/tvOS 网络层选型与设计提供判断依据,而非语法教学。核心是回答“Alamofire 是否值得引入”以及“拦截器链如何设计”。

主要能力:提供决策树与反模式清单。选型上,基础 REST+JSON 用现代 URLSession 的 async/await 与 Codable 即可;复杂鉴权(令牌刷新、重试)、请求响应检查与集中日志、证书固定、带进度的多部分上传等场景,Alamofire 的 RequestInterceptor、EventMonitor、ServerTrustManager、上传 API 更省事。拦截器设计上,仅注入令牌用单个 RequestAdapter;鉴权加 401 重试用内置 Authenticator;多关注点用 Interceptor(adapters:retriers:) 组合;按端点差异用 Router 模式而非在拦截器里写条件分支。重试策略上,401 用 Authenticator 刷新后重试一次;瞬时网络错误仅对幂等请求做指数退避(约 3 次);5xx 一般只重试 503;4xx(除 401)不重试。

必要用法与限制:不要为每个请求新建 Session,应共享单例以复用连接池与拦截器;不要在通用重试逻辑里刷新令牌,否则并发请求会触发多次刷新,应使用 Authenticator 协调;生产环境不要用 DisabledTrustEvaluator,应做证书固定;解码前务必调用 .validate(statusCode: 200..<300),否则可能把错误响应当成功解码;非幂等操作(如下单)不要盲目重试,应使用幂等键;重试需配合指数退避,避免在服务故障时持续冲击。资料未提供具体安装命令、版本要求与价格信息。