草庐IT

RetroFit

全部标签

android - Retrofit/Rxjava 和基于 session 的服务

我正在实现基于session的服务。所有请求都必须使用cookiesession参数进行订阅,然后使用单独的restapi检索该参数。所以基本的工作流程是获取sessioncookie并继续查询服务。有时cookie会过期,这会导致另一个sessioncookie请求。我试图让客户端代码与session无关,这样它就不必担心维护session,而是我希望它隐藏在服务层中。你能建议用Retrofit/RxJava实现它吗?我认为SessionService必须由所有其他服务封装,以便他们可以在需要时查询它,但我不确定如何使用Retrofit的RestAdapter.create

android - 在 Retrofit Android 中手动重试请求的好方法

我知道改造会在失败时自动重试,但我想检查特定错误。如果错误是由于某个HTTP代码引起的,我需要在修改它之后重试该请求。这可以使用同步调用轻松完成,但我正在进行异步调用(通过传递回调)。当我在回调中收到错误时,我想重试请求-但我所拥有的只是RetrofitError对象(我丢失了请求正文)。我有多个请求来自同一个Activity(并发),因此我避免保存所有请求并在成功时将它们作废。是否有更好的方法来实现这个要求? 最佳答案 如果您使用OkHttp作为您的HttpClient并更新到Retrofit>=1.9.0然后您可以使用新的Int

java - 如何自定义实现 Retrofit2.Call<T>

我正在使用Retrofit2,我想覆盖它的Call.enqueue方法。到目前为止我这样做了:自定义调用:publicclassCustomCallimplementsCall{privatefinalCalldelegate;//..everymethodhasdelegatemethodinvokedinitAPI:@GETCustomCalltestConnection(@UrlStringcustomUrl);但我不断收到这些错误:UnabletocreatecalladapterforCustomCall和CouldnotlocatecalladapterforCustomC

java - 安卓: Realm +改造2+Gson

我在使用Retrofit+Gson和Realm时遇到问题。我知道这3个库的组合存在问题。一些答案建议为Gson设置一个ExclusionStrategy可以解决这个问题,我试过了但是没有用。我的代码如下:publicclassObjectList{publicListanotherObject;}publicclassAnotherObjectextendsRealmObject{privateStringpropA;publicvoidsetPropA(StringpropA){this.setPropA=propA}publicStringgetPropA(){returnprop

android - Retrofit 2.0 错误处理方法

我想在Retrofit2.0中处理错误例如code=404和body=null,但是errorBody()包含ErrorModel中的数据(Booleanstatus和字符串信息)。这是errorBody().content:[text=\n{"status":false,"info":"提供的电子邮件不存在。"}]。我怎样才能得到这些数据?谢谢你帮助我!这是我的Retrofit请求代码:ResetPasswordApi.Factory.getInstance().resetPassword(loginEditText.getText().toString()).enqueue(new

android - 使用 Retrofit 发布正文 JSON

我正在尝试使用Retrofit库发布JSONObject,但是当我在接收端看到请求时,内容长度为0。在RestService接口(interface)中:@Headers({"Content-type:application/json"})@POST("/api/v1/user/controller")voidregisterController(@BodyJSONObjectregistrationBundle,@Header("x-company-device-token")StringcompanyDeviceToken,@Header("x-company-device-gui

android - 改造默认线程

我在我的Android应用程序中使用Retrofit和RxJava,我的代码:publicvoidgetConfig(NetworkSubscribersubscriber){Observableobservable=mApi.getConfig();observable.subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread()).subscribe(subscriber);}publicvoidgetCode(Stringmobile,inttype,NetworkSubscribersu

android - 在 RxJava 中处理 API 异常

我目前正在尝试全神贯注于RxJava,但我在以优雅的方式处理服务调用异常方面遇到了一些麻烦。基本上,我有一个返回Observable的(Retrofit)服务.ServiceResponse定义如下:publicclassServiceResponse{privateintstatus;privateStringmessage;privateJsonElementdata;publicJsonElementgetData(){returndata;}publicintgetStatus(){returnstatus;}publicStringgetMessage(){returnmes

Android studio 1.1.0 设置 minifyEnabled true 导致应用程序出现问题

这是我的gradle.build文件defaultConfig{minSdkVersion15targetSdkVersion21versionCode2versionName"1.0"}buildTypes{release{minifyEnabledtrueproguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'}}Proguard-rules.pro文件-keepclassmembersclass*extendsde.greenrobot.dao.AbstractDao{publ

android - 使用注释的改造拦截器的 OkHttp 调用超时未应用

我正在尝试使用OkHttp3.12.0最近添加的功能:全操作超时。为此,我还依赖改造2.5.0中的新Invocation类,它允许我检索方法注释。注解是:@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)public@interfaceTimeout{intvalue();TimeUnitunit();}retrofit界面为:publicinterfaceAgentApi{@Timeout(value=100,unit=TimeUnit.MILLISECONDS)@GET("something")Callget