我发现就API 接口中的请求响应结果,在层级是类似。大家平时是怎么处理这种情况的?
做一个BaseResponse 吗?
您的每一个用心回答,都会让这个世界变得更美好一些!
参考小峰的代码,在分享上有。
class ApiResponse<T>( val code: Int, val success: Boolean, val message: String, val data:T )
//下面是网络请求
//创建Retrofit对象 val retrofit = Retrofit.Builder() .baseUrl(Constants.api_main) //设置网络请求的Url地址 .addConverterFactory(GsonConverterFactory.create()) //设置数据解析器 .build() val serverApi = retrofit.create(ServerApi::class.java) val userBean = UserBean() userBean.phoneNum = acc userBean.password = MD5Util.getMD5String(pass) Log.e("+sobCaptchaKey", RequestInterceptor.sobCaptchaKey.toString()); val call = serverApi.api_userLogin(RequestInterceptor.sobCaptchaKey.toString(), userBean, captcha) call!!.enqueue(object : Callback<ApiResponse<Any>> { override fun onResponse(call: Call<ApiResponse<Any>>, response: Response<ApiResponse<Any>>) { Log.e("+++login", response.headers().toString()) //登陆成功后,获取sob_token(登陆后其他地方都会用到) val sob_token = response.headers()["sob_token"] var apiResponse: ApiResponse<Any> apiResponse = response.body()!! if (apiResponse != null || !"".equals(apiResponse)) { //这里请求成功可以调用 apiResponse. success , apiResponse. message 等 } } override fun onFailure(call: Call<ApiResponse<Any>>, throwable: Throwable) {} })
参考小峰的代码,在分享上有。
//下面是网络请求