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'