java – Retrofit 2 – 获取错误对象JSON(同一请求的POJO很少)

前端之家收集整理的这篇文章主要介绍了java – Retrofit 2 – 获取错误对象JSON(同一请求的POJO很少)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有简单的要求

  /*LOGIN*/
        @FormUrlEncoded
        @POST("v1/user/login") //your login function in your api
        Call

如果http代码200,则返回LoginResponceobject

{"token":"itwbwKay7iUIOgT-GqnYeS_IXdjJi","user_id":17}

错误Json,如果出现问题则描述确切的错误

{"status":4,"description":"user provided token expired"}

如何处理响应中的错误状态?

我试过这个,但它没有在原始文本中看到JSON(doens’t工作).而且似乎不是很好的解决方案.

mCallLoginResponse.enqueue(new Callback
最佳答案
要在有错误代码时访问响应正文,请使用errorBody()而不是body().此外,ResponseBody上有一个字符串方法,您应该使用它而不是toString.

Gson gson = new GsonBuilder().create();
try {
    ApiError mApiError = gson.fromJson(response.errorBody().string(),ApiError.class); 
} catch (IOException e) {
    // handle failure to read error
}

猜你在找的Android相关文章