用途:为现有 Swift 网络层添加 HTTP 响应缓存,减少 API 调用并支持离线。触发场景包括添加 HTTP 缓存、缓存 API 响应、离线回退、减少 API 调用,以及涉及 ETag、条件请求、304 Not Modified 或 stale-while-revalidate。
主要能力:解析 Cache-Control 指令;处理 ETag/Last-Modified 条件请求与 304;支持 stale-while-revalidate;网络不可用时返回过期缓存;按端点配置缓存策略。
使用方式:先做项目检查(Swift 5.9+、iOS 16+/macOS 13+、已有缓存与网络层、文件位置);再通过 AskUserQuestion 选择缓存存储大小(小 10MB 内存/50MB 磁盘、中 25MB/100MB 推荐、大 50MB/250MB)、缓存策略(遵循服务器头、cache-first 后台重验证、按端点手动策略)、是否离线支持、集成方式(装饰已有 APIClient 或独立缓存)。生成 HTTPCacheConfiguration、CachePolicy、CacheControlHeader、ConditionalRequestHandler、HTTPResponseCache,以及可选的 CachingAPIClient 和 NetworkReachability。集成时用 CachingAPIClient 包装 baseClient,并以 CacheConfigurable 设定每端点策略。
限制:要求 Swift 5.9+ 及指定系统版本;已有缓存实现需用户确认替换或扩展;离线支持依赖 NWPathMonitor 包装。其余细节暂未提供。