【发布时间】:2020-08-24 22:43:27
【问题描述】:
我在处理服务器端错误时遇到问题。
当我发送请求时,我希望得到一个如下所示的对象列表:
{"Search":[{"some data"}, {"more data"}]}
但是如果没有找到数据则返回:
{"Response":"False","Error":"Too many results."}
这会导致我的应用程序崩溃,因为它不是列表。我该如何解决?
改造界面
interface Api {
@GET("https://www.website.com/")
fun getInformation(@Query("apikey") apiKey: String, @Query("p") name: String): Call<List>
}
回购
var list: MutableLiveData<List<Object>> = MutableLiveData()
val call: Call<ObjectList> = ObjectApi.getObjectInformation(API_KEY, objectSearch)
call.enqueue(object: Callback<ObjectList>{
override fun onFailure(call: Call<ObjectList>, t: Throwable) {
Log.d("TEST", "Error: ${t.message}")
}
override fun onResponse(call: Call<ObjectList>, response: Response<ObjectList>) {
Log.d("TEST", "Success: ${response.body()}")
val _list = response.body()
list.value = _list.objects
}
【问题讨论】: