Я читаю тысячи ответов и стараюсь много, но не получается.Мне действительно нужно изменить тело ответа, когда получу «401».Поскольку ответ сервера отличается от другого общего ответа, когда он не авторизован.
Я использую модификацию 2. Чтобы поймать ответ, я использую Interceptor:
Request original = chain.request();
Request.Builder requestBuilder = original.newBuilder()
.header("authorization", getAccessToken(context));
Request request = requestBuilder.build();
Response response= chain.proceed(request);
if (response.code()==401) {
MediaType contentType = response.body().contentType();
ResponseBody body = ResponseBody.create(contentType, CommonFunctions.getUnAuthorizedJson(context).toString());
return response.newBuilder().body(body).build();
}else{
return response;
}
Но тело не меняетсяна методе client.enque.