翻新未写入所有请求的数据

时间:2018-10-30 14:29:26

标签: android retrofit retrofit2

我在改装时遇到问题。 我的应用程序有一个名为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 https://com.example.retrofit/v1/symptom/update/257   (332ms,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失败:java.net.UnknownHostException:无法解析主机   “ com.example.retrofit”:没有与主机名关联的地址

1 个答案:

答案 0 :(得分:0)

错误Unable to resolve host "com.example.retrofit": No address associated with hostname表示您没有互联网连接,因此客户端无法连接到网站,或者网站本身不存在。就您而言,肯定没有一个名为com.example.retrofit的网站。

为使改造更好地为您服务,它需要连接到您的托管后端网站或您使用.baseUrl(websiteUrl: String)方法的本地托管网站地址

BuildConfig.API_BASE_URL并非可行之路。

要着手进行改造,您应该免费使用第三方来使用GithubDarkSky等API。

按照那里的说明使用API​​,然后查看retrofit的神奇之处