问题标签 [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 投票
8 回答
101532 浏览

android - 我应该如何在 Android 上使用 Retrofit 处理“无互联网连接”

我想处理没有互联网连接的情况。通常我会跑:

(从这里)在将请求发送到网络之前,如果没有互联网连接,请通知用户。

据我所见,Retrofit 并没有专门处理这种情况。如果没有互联网连接,我只会RetrofitError以超时为理由。

如果我想通过 Retrofit 将这种检查合并到每个 HTTP 请求中,我应该怎么做?或者我应该这样做。

谢谢

亚历克斯

0 投票
1 回答
10219 浏览

android - HTTP 400 错误请求 - Android 上带有改造的无效标头

我正在将我的 Android 项目从Apache HttpClient迁移到使用OkHttp进行改造。POST/PUT 请求返回错误,即使应用程序自定义标头相同且两个请求的 Content-Length 相同。

  • 得到:工作正常。
  • 发布/放置:Http Error 400 Bad Request - Invalid Header。虽然

作为参考,服务器是使用ASP.NETon实现的Windows Azure

阿帕奇 HttpClient

改造+ OkHttp

服务器返回:

编辑

  • 使用在线Hurl.it发送 POST/PUT 请求有效。
  • 使用 Retrofit 发送没有任何正文的 POST/PUT 请求也可以。
0 投票
4 回答
35533 浏览

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

我正在尝试在 Android 上探索 Retrofit+OkHttp。这是我在网上找到的一些代码:

如果我不使用执行器服务,我的代码会在主线程上运行吗?因此,我应该在新线程中发出 Web 请求吗?

0 投票
12 回答
131809 浏览

java - javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚

我正在使用 Retrofit 访问我的 REST API。但是,当我将我的 API 放在 ssl 后面并访问它时,http://myhost/myapi我得到了这个错误:

既然我的 API 在 SSL 后面,我是否需要做一些额外的事情?

这是我的连接方式:

0 投票
3 回答
32979 浏览

java - 如何通过地图参数或对象通过改造 POST 请求?

我在将 Map 参数或对象传递给 Retrofit POST 请求时遇到问题。

我关注squarekdubb labs教程和这个线程,但我无法弄清楚。

我当前有效的代码:

和代码:

当我尝试使用此接口时,我从服务器收到缺少参数的信息:

和地图:

问题: 有什么问题?如何将对象传递给请求?

0 投票
1 回答
1213 浏览

android - okhttp+retrofit - 大量线程处于监控状态

我已经构建了一个使用 Okhttp 和改造的应用程序。除了一些不规则的有线行为外,一切正常。在这个新闻应用程序中,我触发了多个部分的提要下载请求。有时请求永远不会返回任何响应(甚至不会抛出异常)它只是卡住了,在 Logcat 中我看到连续的垃圾收集。

我试图找到潜在的嫌疑人发现找不到任何东西。我只能从 ddms 中的“线程”中看到很多线程处于“监控”状态(请看截图)

在此处输入图像描述

编辑: 另一个用于改造的常用线程转储:

在此处输入图像描述

这是改造配置:

任何想法,有人遇到过类似的问题吗?

0 投票
3 回答
20879 浏览

java - 调试改造错误消息的最佳方法

我是Retrofit的新手。我用过 Volley,我有点喜欢 Retrofit。当我在尝试执行 POST时遇到这个非常非描述性的错误消息时,我正要选择 Retrofit 。

好吧,我必须说,这种类型的错误信息与撒哈拉沙漠中的保暖夹克一样有用。

有没有人知道从哪里开始调试这种类型的消息?我真的不打算委托给不提供有用错误消息的 REST api。

0 投票
1 回答
1757 浏览

android - 改造的 NoClassDefFoundError.RestAdapter$Builder

我正在使用 Android Studio,我想使用Retrofit,这是一个用于 Android 和 Java 的休息客户端。

我在build.gradle文件的依赖项中添加了改造。所以,我可以在我的项目中使用它,但是当我想执行它时,我有一个NoClassDefFoundErrorforretrofit.RestAdapter$Builder内部类。

在此先感谢您的帮助。

编辑解决方案:

  1. 将您的 Android Studio 更新到 4.0+
  2. 启用注释Preferences > Compiler > Annotation Processors > Enable Annotation processing
0 投票
5 回答
19520 浏览

android - 改造和授权饼干

我需要知道如何在改造中添加授权 cookie 标头。我已经看到了使用请求拦截器等的建议。下面是我正在尝试的,但这是正确的吗?首先,我已经需要一个 RequestAdatper 来第一次获取会话 ID。这只能由请求适配器的构建器设置。但我首先需要提出一个请求来获取会话 ID。我是否需要两个休息适配器,一个来获取 sessionId,另一个在我获得它之后。我真正需要的是适配器上的一种方法来设置cookie,但它似乎不是这样的方法。这越来越尴尬了。如何在改造中设置授权 cookie?我在常见问题解答或教程中没有看到这一点。

0 投票
2 回答
2524 浏览

android - Android App 中的 Retrofit Adapter 放在哪里?

我不清楚 Refrofit 适配器和 API 类应该放在 Android 中的什么位置?我应该使用 Application 类还是 Singleton 来保留适配器?API接口类怎么样?

我有一些不同的 api,例如 MyApi1、MyApi2,它们在应用程序的不同点在片段内部被调用。

谢谢