To get access to the raw response, use ResponseBody
from okhttp as your call type.
Call<ResponseBody> login(...)
In your callback, you can check the response code with the code
method of the response. This applies to any retrofit 2 return type, because your callback always gets a Response
parameterized with your actual return type. For asynchronous --
Call<ResponseBody> myCall = myApi.login(...)
myCall.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Response<ResponseBody> response, Retrofit retrofit) {
// access response code with response.code()
// access string of the response with response.body().string()
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
});
for synchronous calls --
Response<ResponseBody> response = myCall.execute();
System.out.println("response code" + response.code());
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…