问题标签 [retrofit2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
826 浏览

android - Retrofit2(拦截器)+ GoogleApiClient如何刷新令牌

在每个请求中都有一个有效的 IdToken 的最佳方法是什么?

我的第一个赌注是 okhttpclient 拦截器,它将令牌添加到每个请求中。但我不知道如何在拦截器中获取有效令牌。

GoogleApiClient 的文档建议silentSignIn(GoogleApiClient)在每次请求之前调用以获取有效令牌。问题是我无法访问拦截器内当前连接的 googleapiclient。

0 投票
13 回答
275780 浏览

android - 使用 Retrofit 2.0 发布多部分表单数据,包括图像

我正在尝试使用Retrofit 2.0对服务器进行 HTTP POST

服务器返回一个错误,指出该文件无效。

这很奇怪,因为我尝试在 iOS 上上传相同格式的相同文件(使用其他库),但上传成功。

我想知道使用Retrofit 2.0上传图片的正确方法是什么?

在上传之前我应该​​先将其保存到磁盘吗?

PS:我已经对不包含图像的其他 Multipart 请求进行了改造,并且他们成功完成了。问题是当我试图在正文中包含一个字节时。

0 投票
1 回答
7284 浏览

android - 如何在 Retrofit 2 (Android) 中将 JSON OBJECT 作为参数发送

任何帮助都应不胜感激..

0 投票
0 回答
1225 浏览

android - 在 Android 上使用改造的 SSLHandshakeException

我知道已经有类似的问题,但没有一个给我解决这个问题的方法。

我正在尝试连接到一些 XML API,如果我在 Postman 中或仅通过浏览器执行此操作,一切正常,并且正在返回 XML。

但是,如果我发送GET到这个 URL,我会得到:

我的第一个问题 - 为什么它在浏览器中有效但在 Android 中无效?我的第二个问题 - 如何解决这个问题?是安卓的问题还是服务器的问题?我已经尝试了这两种解决方案,但它们都不起作用:

0 投票
1 回答
455 浏览

android - 改造回调和 saveinstanceState

我对 Retrofit2 回调和 onSaveInstanceState 有疑问。我想在onSaveInstanceState中保存两个变量var1var2的状态。这两个变量(实际上不是简单的变量)在 onResponse 方法的 Retrofit 回调中获取它们的值。它只持续几毫秒,但是如果我在两个变量在 onResponse 中获取它们的值之前旋转设备,应用程序就会崩溃。我不太清楚如何处理这种情况。我想知道您在这方面的方法以避免崩溃。(实际上我有 2 个改造回调,它们彼此独立,一个用于绘制图形,另一个用于在文本视图中呈现数据)。提前感谢和原谅我糟糕的英语语言技能。

0 投票
2 回答
11799 浏览

android - 从改造中获取 json 对象和数组

我想从 [this link][1] 获取 json:https ://api.myjson.com/bins/38ln5使用改造

示例 json 是

请详细说明如何做到这一点。非常感谢,伙计们!

0 投票
2 回答
1145 浏览

android - 在改造 2.0 中无法解析具有两种不同数据类型的 json

我正在尝试将下面的这个 json 解析为一个名为的对象AlbumResponse,其中包含另外两个对象,Album并且PaginationInfo. 改造 2.0 版

专辑类

分页信息类

AlbumResponse,里面有两个类,并且AlbumList

请求

界面

问题是我得到一个Throwable包含:

com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期 BEGIN_OBJECT 但在第 1 行第 2 列路径 $` 处为 BEGIN_ARRAY

请有人可以帮助我,我在stackoverflow中没有找到任何答案。谢谢。

0 投票
1 回答
957 浏览

android - Observable RX - Retrofit 仅在第一次获取数据

这是我遇到的一个非常奇怪的问题。

我正在使用带有改造功能的 RX JAVA Observable 从服务器获取数据,这类数据每次都应该更改,但似乎只在第一次加载数据,其余时间重新获取相同的数据。

同样没有 INTERNET CONNECTION 仍然在获取数据(显然来自本地)并且仍然进入 onNext 而不是 onError 应该是。

这是我的观察:

我的改造 api:

我希望有人能帮助我!

提前致谢!!

编辑:

这就是我提供 RetrofitAdapter 的方式

这就是我提供 OkHttpClient 的方式:

0 投票
2 回答
9440 浏览

android - 多个@Body 字段的错误-retrofit2 beta3

我刚刚开始为 android 进行改造。当我尝试为发布请求的正文指定 2 个字段时出现错误:

找到多个 @Body 方法注释。(参数#2)方法

调用在我的 API 接口文件中定义为:

我通过以下方式创建呼叫:

创建调用时会产生错误(没有机会执行它)。当我删除其中一个身体字段时,它似乎工作正常。

有任何想法吗?

0 投票
2 回答
1057 浏览

android - 如何使用 retrofit2 (v2.0.0-beta3) 处理响应

我正在使用最新版本的改造,retrofit2,v2.0.0-beta3。API 响应是用户对象或空响应(空值)。如果我发送正确的用户名/密码,则句柄将进入 onResponse 方法并使用成功的 User 对象。但是,如果发送错误的密码,那么 API 将不会返回任何内容,响应标头中的值很少。但是我在 onFailure(Throwable) 中遇到了MalformedJsonException 。

“com.google.gson.stream.MalformedJsonException:使用 JsonReader.setLenient(true) 在第 1 行第 1 列路径 $ 接受格式错误的 JSON”

这是错误的屏幕截图, 在此处输入图像描述

我认为应该有某种方式来处理空响应和读取响应标头,使用 ResponseInceptor 或自定义回调。但不知道如何使用它。

这是代码,