Дооснащение не записывает все данные запроса - PullRequest
0 голосов
/ 30 октября 2018

У меня проблема с модернизацией. У моего приложения есть кнопка под названием Request. Когда пользователь нажимает кнопку Request, модификация выполняет запрос. Не могли бы вы объяснить, почему дооснащение не записывает все данные для второго запроса?

Есть модифицированный конфиг:

Конфигурация дооснащения:

Retrofit retrofit = new Retrofit.Builder()
             .baseUrl(BuildConfig.API_BASE_URL)
             .client(client)
             .addConverterFactory(gson)
             .addCallAdapterFactory(rxAdapter)
             .build();

HttpClient

HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
     logging.setLevel(HttpLoggingInterceptor.Level.BASIC);
     TokenInterceptor tokenInterceptor = new TokenInterceptor();
     return new OkHttpClient.Builder()
             .connectTimeout(20, TimeUnit.SECONDS)
             .readTimeout(30, TimeUnit.SECONDS)
             .addInterceptor(tokenInterceptor)
             .addInterceptor(logging)
             .cache(cache)
             .build();

Журнал http от дооснащения:

  • Первый щелчок, модификация, запись 155088-байтового тела, и сервер возвращает 403
  • Второй щелчок, дооснащение не записывает все данные (только 2023-байтовое тело). и клиент получил Unable to resolve host ошибку.

    10-30 21: 01: 08.858 14479-14626 / com.example.retrofit D / OkHttp: -> POST https://com.example.retrofit/v1/symptom/update/257 http / 1.1 (155088-байтовое тело) 10-30 21: 01: 09.190 14479-14626 / com.example.retrofit D / OkHttp: <- 403 <a href="https://com.example.retrofit/v1/symptom/update/257" rel="nofollow noreferrer">https://com.example.retrofit/v1/symptom/update/257 (332 мс, 560-байтовое тело) 10-30 21: 01: 23.109 14479-14573 / com.example.retrofit D / Okhttp: -> POST https://com.example.retrofit/v1/symptom/update/257 http / 1.1 (2023 байт тело) 10-30 21: 13: 27,578 14479-14573 / com.example.retrofit D / OkHttp: <- HTTP FAILED: java.net.UnknownHostException: невозможно разрешить хост «com.example.retrofit»: нет адреса, связанного с именем хоста </p>

1 Ответ

0 голосов
/ 30 октября 2018

Ошибка Unable to resolve host "com.example.retrofit": No address associated with hostname означает, что либо у вас нет подключения к Интернету, поэтому клиент не может подключиться к веб-сайту, либо сам веб-сайт не существует. В вашем случае это наверняка выглядит так, как будто нет сайта под названием com.example.retrofit.

Для улучшения обслуживания вам необходимо подключиться к внутреннему веб-сайту хоста или к адресу локального веб-сайта хоста, который указан в .baseUrl(websiteUrl: String) метод

BuildConfig.API_BASE_URL - это не тот путь, по которому можно это сделать.

Чтобы начать работу с модернизацией, вы должны бесплатно использовать сторонние приложения для использования таких API, как Github , DarkSky и т. Д.

Следуйте инструкциям, чтобы использовать API, а затем посмотрите на магию дооснащения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...