我正在使用Retrofit在我的Web服务器上发出POST请求.
但是,当响应状态为时,我似乎无法获得响应正文422 (unprocessable entity)
.响应机构总是如此null
.
我想知道我做错了什么或者是否有解决方法.因为我在Postman的请求中使用相同的json ,并且它正常返回正文.
这是方法:
@Headers("Content-Type: application/vnd.api+json") @POST("my_endpoint") CallpostEntry(@Header("Authorization") String authorization, @Body JsonObject json);
正文是一个JsonObject,我没有像文档说的那样序列化.但我不认为这是问题所在.
任何帮助表示赞赏,谢谢.
默认情况下,当您的服务器返回时,response.body()
始终会出现错误代码null
.你在寻找什么response.errorBody()
.一种常见的方法是这样的:
@Override public void onResponse(Responseresponse, Retrofit retrofit) { if (response.isSuccess()) { response.body(); // do something with that } else { response.errorBody(); // do something with that } }
如果您需要非常先进的东西,请查看拦截器以及如何使用它们