Страницы

Поиск по вопросам

понедельник, 10 июня 2019 г.

Как получить текст ошибки запроса Retrofit

У меня есть следующий код, в котором я отлавливаю код ответа и бросаю собственные исключения.
OkHttpClient httpClient = new OkHttpClient.Builder() .connectTimeout(1, TimeUnit.MINUTES) .readTimeout(1, TimeUnit.MINUTES) .addInterceptor(chain -> { Request.Builder ongoing = chain.request().newBuilder();
//...
//build request Request request = ongoing.build(); Response response = null;
//process request try { response = chain.proceed(request); } catch (IOException e) { throw new NetworkException(e.getMessage()); }
if (response.code() == 400){ throw new ClientRequestException(); }
return response; }) .build();
retrofit = new Retrofit.Builder() .client(httpClient) .baseUrl(BASE_URL) .addConverterFactory(new NullOnEmptyConverterFactory()) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .build();
Но в таком случае, мне нужно добавлять сообщение исключения самостоятельно, вопрос могу ли я как то из response получить текст ошибки которую мне отдает сервер?


Ответ

Тело ответа, где содержится ошибка может быть получено так:
String body = response.body();

Комментариев нет:

Отправить комментарий