一款由
Retrofit + 协程 配合 LiveData
封装的高端DSL网络请求框架
第一步 先写个 ApiService
@GET("/banner/json")
suspend fun getBanner(): ResultData<List<Banner>>
第二步 创建 Service
val apiService: ApiService by lazy {
HttpBuilder.createService(
apiService.API_HOME,
okClientAction = {
// OkHttpClient.Builder
},
retrofitAction = {
// Retrofit.Builder
}
)
}
第三步 丝滑全量开启!!!
val requestLiveData = viewModelScope.requestLiveData<List<Banner>> {
// 请求网络
api {
apiService.getBanner()
}
// 加载数据缓存
loadCache {
}
// 将数据保存到数据库
saveCache {
}
}
网友评论