当前位置: 首页 > 知识库问答 >
问题:

改装2-当响应状态为422(无法处理的实体)时,响应正文为null

方奕
2023-03-14

我正在使用Registfit在我的web服务器中发出一个POST请求

@Headers("Content-Type: application/vnd.api+json")
@POST("my_endpoint")
Call<JsonObject> postEntry(@Header("Authorization") String authorization, @Body JsonObject json);

共有1个答案

萧晓博
2023-03-14

默认情况下,当服务器返回错误代码时,response.body()总是null。您要查找的是response.errorbody()。一种常见的方法是这样的:

    @Override
    public void onResponse(Response<JsonObject> response, Retrofit retrofit) {
        if (response.isSuccess()) {
            response.body(); // do something with this
        } else {
            response.errorBody(); // do something with that
        }
    }

如果您需要一些先进的东西,看看拦截器以及如何使用它们

 类似资料: