草庐IT

Retrofit

全部标签

android - 使用 Retrofit 2.0 Observables 时出现错误时如何获取响应正文

我正在使用Retrofit2.0进行返回Observables的api调用。当调用顺利进行并且响应符合预期时,一切正常。现在假设我们有一个错误响应,它会抛出一个onError。即使是错误,我也想阅读响应正文。例子@FormUrlEncoded@POST("tokenLogin")ObservableloginWithToken(@Field("token")Stringpin);当请求和响应有效时,我得到了正确的observable,并且在出现错误时按预期调用了onError。正确答案:{"status":"authenticated"}Observable将其转换为正确的Observ

android - 使用 Retrofit 2.0 Observables 时出现错误时如何获取响应正文

我正在使用Retrofit2.0进行返回Observables的api调用。当调用顺利进行并且响应符合预期时,一切正常。现在假设我们有一个错误响应,它会抛出一个onError。即使是错误,我也想阅读响应正文。例子@FormUrlEncoded@POST("tokenLogin")ObservableloginWithToken(@Field("token")Stringpin);当请求和响应有效时,我得到了正确的observable,并且在出现错误时按预期调用了onError。正确答案:{"status":"authenticated"}Observable将其转换为正确的Observ

android - 改造 - 全局拦截响应

我想拦截改造引擎收到的所有响应,并扫描HTTP错误代码,例如错误403。我知道我可以使用每个请求的失败(RetrofitError错误)回调并检查403,但我想全局包装响应。我可以看到请求拦截是可能的,但我没有看到类似的响应选项。有什么建议吗? 最佳答案 我能够通过向改造正在使用的OkHttpClient添加一个拦截器来实现这一点。Kotlin+改造2.xvalclientBuilder=OkHttpClient.Builder()clientBuilder.addInterceptor{chain->valrequest=chai

android - 改造 - 全局拦截响应

我想拦截改造引擎收到的所有响应,并扫描HTTP错误代码,例如错误403。我知道我可以使用每个请求的失败(RetrofitError错误)回调并检查403,但我想全局包装响应。我可以看到请求拦截是可能的,但我没有看到类似的响应选项。有什么建议吗? 最佳答案 我能够通过向改造正在使用的OkHttpClient添加一个拦截器来实现这一点。Kotlin+改造2.xvalclientBuilder=OkHttpClient.Builder()clientBuilder.addInterceptor{chain->valrequest=chai

android - Retrofit 是否在主线程上进行网络调用?

我正在尝试在Android上探索Retrofit+OkHttp。这是我在网上找到的一些代码:RestAdapterrestAdapter=newRestAdapter.Builder().setExecutors(executor,executor).setClient(newOkClient(okHttpClient)).setServer("blah").toString()).build();如果我不使用执行器服务,我的代码会在主线程上运行吗?因此,我应该在新线程中发出网络请求吗? 最佳答案 可以为同步或异步执行声明改造方法。

android - Retrofit 是否在主线程上进行网络调用?

我正在尝试在Android上探索Retrofit+OkHttp。这是我在网上找到的一些代码:RestAdapterrestAdapter=newRestAdapter.Builder().setExecutors(executor,executor).setClient(newOkClient(okHttpClient)).setServer("blah").toString()).build();如果我不使用执行器服务,我的代码会在主线程上运行吗?因此,我应该在新线程中发出网络请求吗? 最佳答案 可以为同步或异步执行声明改造方法。

android - Retrofit2 错误 java.io.EOFException : End of input at line 1 column 1

我使用Retrofit2调用了PATCH网络服务,但没有调用onResponse并且调用了onFailure尽管服务端运行成功完美每当我尝试使用fiddler来检查服务的工作时,我发现问题在于序列化服务的即将到来的响应,当使用fiddler时,我发现JSON响应中没有内容,因此Retrofit服务假设它失败了,因为没有内容并且它无法序列化EMPTY内容并给我这个错误java.io.EOFException:Endofinputatline1column1fiddler原始响应HTTP/1.1200OKServer:nginx/1.9.4Date:Wed,02Mar201609:55:5

android - Retrofit2 错误 java.io.EOFException : End of input at line 1 column 1

我使用Retrofit2调用了PATCH网络服务,但没有调用onResponse并且调用了onFailure尽管服务端运行成功完美每当我尝试使用fiddler来检查服务的工作时,我发现问题在于序列化服务的即将到来的响应,当使用fiddler时,我发现JSON响应中没有内容,因此Retrofit服务假设它失败了,因为没有内容并且它无法序列化EMPTY内容并给我这个错误java.io.EOFException:Endofinputatline1column1fiddler原始响应HTTP/1.1200OKServer:nginx/1.9.4Date:Wed,02Mar201609:55:5

android - 改造中的 SocketTimeoutException

我正在尝试向服务器发送POST请求以获取数据,但有时会发生SocketTimeoutException!我使用Ok3Client解决了它,但我遇到了同样的异常我该如何解决它?我的代码在下面publicvoidgetNormalLogin(){if(mProgressDialog==null){mProgressDialog=ViewUtils.createProgressDialog(mActivity);mProgressDialog.show();}else{mProgressDialog.show();}if(Build.VERSION.SDK!=null&&Build.VERS

android - 改造中的 SocketTimeoutException

我正在尝试向服务器发送POST请求以获取数据,但有时会发生SocketTimeoutException!我使用Ok3Client解决了它,但我遇到了同样的异常我该如何解决它?我的代码在下面publicvoidgetNormalLogin(){if(mProgressDialog==null){mProgressDialog=ViewUtils.createProgressDialog(mActivity);mProgressDialog.show();}else{mProgressDialog.show();}if(Build.VERSION.SDK!=null&&Build.VERS