很多 Android 网络请求教程只展示 Retrofit.Builder() 和一个 @GET 接口。代码能跑,但接入真实项目后,很快会遇到这些问题:
- 断网、超时、HTTP 404/500 和 JSON 解析失败混在一起,页面只能提示“请求失败”;
ViewModel里到处都是try/catch,相同逻辑不断复制;- 为了“切到 IO 线程”重复包裹
withContext(Dispatchers.IO); - 协程取消被误当成普通异常吞掉,页面退出后请求仍表现异常;
- Debug 日志被带进 Release,Token 和响应数据存在泄露风险。
本文从一个可运行的文章列表 Demo 出发,完成一套适合中小型项目直接落地的网络层:
Compose UI → ViewModel → Repository → Retrofit API → OkHttp → Server
你将得到:
- Retrofit 3 + kotlinx.serialization 的基础配置;
- 超时、日志和公共请求头配置;
- 统一的
ApiResult<T>与错误模型; - 正确处理协程取消的安全请求函数;
- Repository、ViewModel 与 Compose 页面完
订阅专栏 解锁全文
&spm=1001.2101.3001.5002&articleId=165755337&d=1&t=3&u=7d461d9c6f034b7b9c409e483033fb70)
362

被折叠的 条评论
为什么被折叠?



