美文网首页
高端DSL网络请求框架:Retrofit + 协程 配合 Liv

高端DSL网络请求框架:Retrofit + 协程 配合 Liv

作者: WotYang | 来源:发表于2022-08-17 10:57 被阅读0次

    一款由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 {
                }
            }
    

    相关文章

      网友评论

          本文标题:高端DSL网络请求框架:Retrofit + 协程 配合 Liv

          本文链接:https://www.haomeiwen.com/subject/svejgrtx.html