草庐IT

Retrofit

全部标签

java - Retrofit2 + RxJava2 + RxAndroid 错误

尝试打包Subscriber时收到如下错误消息并订阅。cannotresolvemethod'subscribe(anonymousrx.Subscriber)'build.gradle//JSONParsingcompile'com.google.code.gson:gson:2.6.1'compile'com.squareup.retrofit2:retrofit:2.1.0'compile'com.squareup.retrofit2:converter-gson:2.1.0'compile'com.squareup.retrofit2:adapter-rxjava:2.1.0'

android - 如何使用 swagger 从 wp rest api 生成 Retrofit 客户端库

我正在为我的WordPress网站创建安卓客户端。有没有一种方法可以使用swagger从wprest客户端生成retrofit2客户端库,或者是否有任何其他工具可以生成相同的. 最佳答案 引自here,是的,它是swagger现有代码生成模块的一部分:ThelatestJavaAPIclientsupportsdifferentHTTPclientincludingRetrofit.TouseRetrofit,pleasecreateaconfig.jsonfileasfollows:{"library":"retrofit"}an

android - 针对 4xx 错误的 Retrofit 2 同步调用错误处理

我正在使用android-priority-jobqueue并且我使用retrofit对我的restapi进行同步调用,但我不确定如何处理错误,例如我发回json说明错误的401未经授权错误。进行异步调用时很简单,但我正在为作业管理器调整我的应用程序。下面是IO异常的简单trycatch,但是401的422等?如何做到这一点?try{PostServicepostService=ServiceGenerator.createService(PostService.class);finalCallcall=postService.addPost(post);PostnewPost=cal

java - 获取意外的 JDWP 错误 : 103 while trying to upload an image using retrofit to an api server android?

我在尝试使用改造多部分在api服务器上上传图像时收到以下103错误消息,api收到apitoken“_method”:“PUT”和图像url作为参数,在响应时收到完整的JSON但带有先前或默认的图像链接,当前选择的图像不会上传,其他一切都是可选的,任何帮助将不胜感激,下面列出了代码谢谢。此外,主要方法是POST,但“_method”:“PUT”参数可让您上传图像,如果没有_method,它将成为POST消息,除此之外的所有其他参数都成为强制性参数,请检查图像。com.sun.jdi.InternalException:UnexpectedJDWPError:103接口(interfac

android - 内存不足错误 RxAndroid + RxJava + Retrofit2

我刚开始使用RxAndroid和RxJava。我正在使用RxJava+Retrofit2发出GET请求。我正在使用以下代码执行大约1500个GET请求并出现内存不足错误。然而,这次相同的代码只是经过改造,没有RxAndroid并且它可以工作。所以我的结论是我在RxAndroid中做错了什么。你能帮我解决我遗漏的问题吗?代码示例:SubjectmStoryEmitter=PublishSubject.create();privatevoidgetStory(intstoryID){HNApi.Factory.getInstance().getStory(storyID).subscrib

android - 使用 Retrofit 时如何在离线时对 API 调用进行排队

我将Retrofit与rx-java结合使用,并有以下问题:有没有一种方法可以在设备离线时将对服务器的API调用排队,以便在设备再次在线时触发它们。 最佳答案 编辑:2021年3月您现在应该使用WorkManager相反。您首先需要将队列添加到您的项目中,然后通过该队列传输Retrofit作业。所以要么创建自己的队列,要么检查库是否像android-priority-jobqueue满足您的要求(一个也处理排队作业的持久性,因此应用程序终止/重启不那么痛苦) 关于android-使用Re

android - MockWebServer 和 Retrofit with Callback

我想通过MockWebServer模拟网络通信。不幸的是,retrofit回调永远不会被调用。我的代码:MockWebServerserver=newMockWebServer();server.enqueue(newMockResponse().setResponseCode(200).setBody("{}"));server.play();RestAdapterrestAdapter=newRestAdapter.Builder().setConverter(newMyGsonConverter(newGson())).setEndpoint(server.getUrl("/")

android - 如何在不到处添加特定代码的情况下处理 auth0 403 错误 (Retrofit/okhttp/RxAndroid)

我正在使用Auth0,它为我提供了一个JWT(json网络token)和一个刷新token。我在httpheader中使用此JWT与我的后端进行通信。当服务器确定JWT已过期时,它可能会给我一个403。在这种情况下,我可以要求Auth0使用refreshtoken给我颁发一个新的JWT。这意味着我调用Auth0后端,将refreshtoken传递给它,它会给我一个新的JWT,然后我可以在我的请求中使用它。我的问题是,如何在我所有的网络代码中高效地编写此行为?我将与几个端点通信,它们都可能返回403。我想我应该先制作一个拦截器,将JWT添加到所有请求。然后应该有检测到403的行为,悄悄地

android - java.lang.NoClassDefFoundError retrofit2.Utils

我正在使用Retrofit处理来自移动设备的服务器端数据。实现改造后,我得到以下异常。我做错了什么?com.name.App_ideaW/System.err:java.lang.NoClassDefFoundError:retrofit2.Utilsatretrofit2.Retrofit$Builder.baseUrl(Retrofit.java:434)atcom.name.App_idea.utils.Idea.onCreate(Idea.java:103)atandroid.app.Instrumentation.callApplicationOnCreate(Instrum

android - 如何使用 Retrofit 和 OKHttp 在下一次请求时使缓存路由无效/强制更新?

我正在使用Retrofit和OKHttp客户端来缓存来自JSONAPI的响应。这很好用。但是,如果我在设备上采取导致数据在服务器上更新的操作,我需要一种方法来“使”特定路由“无效”,以确保下次对该数据发出请求时,它是再次从服务器获取,而不是现在已过时的缓存版本。目前,我已经通过在请求的Cache-Controlheader中使用“no-cache”标志显式调用新路由来解决这个问题,但这迫使我在需要之前下载新数据,可能如果采取多项操作,则多次执行,只是为了使缓存保持最新。有没有一种方法可以在我的改造/OKhttp客户端中将路由/方法标记为缓存过期,从而在下次请求时需要通过网络进行强制更新