SuperAPI AI 工具集

android-retrofit

编程与开发

查看项目

更新于 10-16 01:24

技能介绍

用途:指导 Android 项目以现代方式接入 Retrofit,结合协程、kotlinx.serialization 与 Hilt,重点讲解容易出错的取舍,而非重复标准样板代码。

主要能力与用法:

  1. Service 接口:每个端点声明为 suspend 函数,默认直接返回响应体类型,Retrofit 在非 2xx 时抛出 HttpException,便于在仓库层 try/catch;仅当需要状态码、响应头或错误体时才返回 Response<T>,不要习惯性全部包成 Response<T>。
  2. OkHttp 与 JSON:在 Hilt 的 @Module/@Provides @Singleton 中配置 HttpLoggingInterceptor(级别由 BuildConfig.DEBUG 控制)、合理的连接与读取超时,以及 kotlinx.serialization 转换器,例如 json.asConverterFactory("application/json".toMediaType());对宽松接口可设置 ignoreUnknownKeys、coerceInputValues、isLenient。
  3. 鉴权:用 Interceptor 统一附加 token,而非逐端点 @Header。token 缺失时需明确策略:若所有端点都需鉴权则抛异常快速失败;仅在同一个 OkHttpClient 同时服务公开端点时,才可放行不带头的请求。
  4. 错误处理:仓库层是错误边界,捕获 HttpException/IOException 并映射为领域错误类型,避免让 Retrofit/OkHttp 异常类型和 DTO 进入 ViewModel。

适用场景:Android 网络层搭建、鉴权拦截器设计、序列化与 Hilt 注入配置。限制:资料未提供版本、依赖坐标、价格或平台等信息,未涉及的标准样板(如 service 接口与 Hilt 模块的具体写法)仅作为背景提及,具体实现细节暂未提供。