问题标签 [retrofit]

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 回答
2744 浏览

android - 改造 getBodyAs() 无法解析服务器错误

我正在尝试解析出现问题时发送的服务器消息。消息以 JSON 格式发送:

错误模型类:

使用以下代码创建改造:

以及检索错误:

它毫无例外地工作,所以我似乎在做正确的事情。但它总是无法解析响应中的两个字段。Retrofit 只创建一次,它成功地检索和解析所有服务器响应,但错误除外。

我正在使用最新可用的 Retrofit jar - 1.4.1

我究竟做错了什么?

0 投票
2 回答
24820 浏览

android - 改造为异步 FormUrlEncoded DELETE 调用抛出 IllegalArgumentException 异常

我正在尝试制作一个异步 POST 和 DELETE,它是在 Android 4.4 中使用 Retrofit 编码的表单 url

这是我的客户-

这是个例外——

我查看了源代码,基本上如果方法没有主体并且请求是formurlencoded,则会引发此异常。我还注意到,FormUrlEncoded 的所有示例在非异步时都可以正常工作,即我有某种返回类型并且没有回调 - 抱歉,我有点迷路了

我应该发送一个空的身体吗?我是否需要发送一个并且@Field 参数不够?

使用改造 1.5.0

0 投票
1 回答
1088 浏览

android - 在 Android 上改造 OkHttp 和 Signpost (xAuth)

我想知道是否可以将 Retrofit 与 OkHttp 一起使用来进行 xAuth 后调用,并将 cass 的散列主体作为 oauth 标头的一部分。

我有一个用于获取请求的基本实现,它没有正文,但是服务请求在包含正文(其中 oauth 标头是散列正文)正在传递的发布请求上失败。

谢谢

0 投票
1 回答
1173 浏览

android - 我如何让 Robospice 将 Retrofit 和 OKHttp 的 200 响应以外的任何内容视为错误

我在带有 Retrofit 和 OKHttp 的 android 上使用 Robospice。对于使用 Robospice RequestListener 传递回活动的响应,一切都很好。问题是它仅在连接超时或其他网络问题时才返回失败。如果返回 401,则将其归类为成功,但响应为空,因为它无法将 JSON 解析为我们的 MobileAppSetup POJO。

目前我不得不对响应进行空值检查,但我不知道是服务器错误还是有效的 401 是什么原因。

我需要将这些错误传递给 onRequestFailure 回调,以便我可以正确处理它。有没有办法指定 Robospice 应视为错误的错误代码。我认为这涉及添加某种自定义错误处理程序,但目前确实找不到解决方案。

0 投票
1 回答
750 浏览

retrofit - 使用带有 Retrofit 和 OkHttp 的 POST-Redirect-GET 模式的 SocketTimeoutException

我正在使用 Retrofit 1.5.0 和 OkHttp 调用 REST POST 端点,该端点为后续的 GET 请求返回 302。使用 OkHttp 1.3.0 可以按预期工作。但是,在升级到 OkHttp 1.5.0(或更高版本)后,即使两个请求都已发出,我也会收到 SocketTimeoutException。我的 RestAdapter 使用默认的 OkClient。

OkHttp 团队最近修复了一个问题 ( https://github.com/square/okhttp/issues/296 ),其中 Content-Length 标头从 POST 请求保留到 GET 请求。查看 OkHttp 1.5.2 的代码,似乎可以通过com.squareup.okhttp.internal.http.HttpURLConnectionImpl.getResponse()在创建 GET 请求之前删除该标头来实现修复;但是,如果实例字段fixedContentLength不是 -1,则 Content-Length 标头会在 中重新创建com.squareup.okhttp.internal.http.HttpURLConnectionImpl.newHttpEngine()。该fixedContentLength字段在原始 POST 请求retrofit.client.UrlConnectionClient.prepareRequest() 之前设置,因此结果是在发出 GET 请求时 Content-Length 标头存在正值。

这是一个错误还是我从配置的角度错过了什么?

0 投票
2 回答
6687 浏览

android - 在使用改造后发布多个图像文件时需要帮助?

如何使用改造在同一参数上添加多个图像/文件以及其他文本数据?

0 投票
1 回答
269 浏览

spring - Spring 可以与同一个 webapp 中的其他 servlet 一起“生活”吗?

我有一个带有几个 servlet 的 WEB-INF/web.xml 文件,以及一个用于引导应用程序的上下文侦听器。我想在这个 Web 应用程序中使用 Spring。将 Spring 用于此的最佳方法是什么,以便我可以在整个应用程序中使用 Spring 的注入机制——即使在当今存在的 servlet 中也是如此?

0 投票
2 回答
5219 浏览

php - 在 Android 中将 Retrofit 发布到 Rest 服务器

作为大学小组项目的一部分,我们使用 PHP 休息服务器将数据发送到 Oracle 服务器。到目前为止,所有 get 方法都可以正常工作,但我无法理解如何发布数据,因为它不起作用。

这是PHP

但我一辈子都无法让它在 Android 中运行。

这是我用来发布数据的方法:

而从活动

它所说的错误是它需要对参数 1 进行改造注释。我也尝试过使用属性类型的回调,但这仍然给我带来了问题。

理想情况下,第一个参数应该为 null,因为它是主键,我该怎么做?

谢谢奥马尔

编辑:

Logcat 输出,但 Internet 权限在那里。

其余适配器正在使用 GSON

0 投票
0 回答
272 浏览

java - 使用 Retroft 库发布图像数组

我正在尝试通过改造来发布图像阵列。我写的接口方法如下:

但服务器正在接收类似的东西:

我正在使用改造版本 1.5.0。

0 投票
1 回答
8294 浏览

java - Android Retrofit Base64 @Body

Hi all i have this code in android 4.3 and i am using retrofit just now but server thrown me an error message "The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters." When i am using retrofit