프로젝트에서 개조 2를 사용하고 있습니다. 아래의 시나리오에 문제가 있습니다.개조 2가 오류 응답에서 구문 분석하지 않습니다.
나는 API
에 호출 할 때와 error code
와 R equest was not executed
이 4xx
또는 500
문제의 정보 메시지입니다 server
말해.
그러나 retrofit
은 http error
이며 을 Server
에서 수집하지 않은 것으로 보입니다.
나는 비슷한 문제가있는 here을보고 있지만 문제가 해결되지 않았습니다.
전적으로 응답 성공을 거두었고 구현에 문제가없는 것으로 확신합니다.
@Override
public void onResponse(Response<CustomResponse> response, Retrofit retrofit) {
Log.d("Response : ", response.body(), response.code()); // here i got response.body() is null if response code is not 200, if response code is 200 -- it work well as I expected.
onRequestSuccess(response);
}
나는 retrofit
에서 Response
클래스에서 모양과 나는 코드 아래 참조 :
private Response(com.squareup.okhttp.Response rawResponse, T body, ResponseBody errorBody) {
this.rawResponse = checkNotNull(rawResponse, "rawResponse == null");
this.body = body;
this.errorBody = errorBody;
}
그리고
public static <T> Response<T> error(ResponseBody body, com.squareup.okhttp.Response rawResponse) {
return new Response<>(rawResponse, null, body);
}
이
server
에서
response
코드가없는 때
200
,
retrofit
이해 것으로 보인다 오류가있어
body
을로 설정하십시오. 10.
이 경우 response body
의 "올바른"값을 얻는 데 도움이 될 수있는 사람은 누구입니까? 그런
그냥 사용하십시오. response.errorBody() – mklimek
도움이되지 않았습니다. response.Body().string() = "" –