DSL网络请求框架
@GET("/banner/json")
suspend fun getBanner(): Response<List<Banner>>
val apiService: ApiService by lazy {
HttpBuilder.createService(
"https://www.wanandroid.com",
okClientAction = {
// OkHttpClient.Builder
},
retrofitAction = {
// Retrofit.Builder
}
)
}
val liveData = viewModelScope.requestData {
// 请求网络
api {
wanAndroidService.getBanner()
}
// 加载数据缓存
loadCache {
}
// 将数据保存到数据库
saveCache {
}
}
引入
在项目的 build.gradle
文件中配置仓库地址。
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
在需要添加依赖的 Module 下添加以下信息,使用方式和普通的远程仓库一样。
implementation 'com.github.WotCore:Http-ktx:v1.0.1'