问题标签 [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.
android - 我应该如何在 Android 上使用 Retrofit 处理“无互联网连接”
我想处理没有互联网连接的情况。通常我会跑:
(从这里)在将请求发送到网络之前,如果没有互联网连接,请通知用户。
据我所见,Retrofit 并没有专门处理这种情况。如果没有互联网连接,我只会RetrofitError
以超时为理由。
如果我想通过 Retrofit 将这种检查合并到每个 HTTP 请求中,我应该怎么做?或者我应该这样做。
谢谢
亚历克斯
android - HTTP 400 错误请求 - Android 上带有改造的无效标头
我正在将我的 Android 项目从Apache HttpClient迁移到使用OkHttp进行改造。POST/PUT 请求返回错误,即使应用程序自定义标头相同且两个请求的 Content-Length 相同。
- 得到:工作正常。
- 发布/放置:
Http Error 400 Bad Request - Invalid Header
。虽然
作为参考,服务器是使用ASP.NET
on实现的Windows Azure
。
阿帕奇 HttpClient:
改造+ OkHttp:
服务器返回:
编辑:
- 使用在线Hurl.it发送 POST/PUT 请求有效。
- 使用 Retrofit 发送没有任何正文的 POST/PUT 请求也可以。
android - Retrofit 是否在主线程上进行网络调用?
我正在尝试在 Android 上探索 Retrofit+OkHttp。这是我在网上找到的一些代码:
如果我不使用执行器服务,我的代码会在主线程上运行吗?因此,我应该在新线程中发出 Web 请求吗?
java - javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:找不到证书路径的信任锚
我正在使用 Retrofit 访问我的 REST API。但是,当我将我的 API 放在 ssl 后面并访问它时,http://myhost/myapi
我得到了这个错误:
既然我的 API 在 SSL 后面,我是否需要做一些额外的事情?
这是我的连接方式:
java - 如何通过地图参数或对象通过改造 POST 请求?
我在将 Map 参数或对象传递给 Retrofit POST 请求时遇到问题。
我关注square,kdubb labs教程和这个线程,但我无法弄清楚。
我当前有效的代码:
和代码:
当我尝试使用此接口时,我从服务器收到缺少参数的信息:
和地图:
问题: 有什么问题?如何将对象传递给请求?
android - okhttp+retrofit - 大量线程处于监控状态
我已经构建了一个使用 Okhttp 和改造的应用程序。除了一些不规则的有线行为外,一切正常。在这个新闻应用程序中,我触发了多个部分的提要下载请求。有时请求永远不会返回任何响应(甚至不会抛出异常)它只是卡住了,在 Logcat 中我看到连续的垃圾收集。
我试图找到潜在的嫌疑人发现找不到任何东西。我只能从 ddms 中的“线程”中看到很多线程处于“监控”状态(请看截图)
编辑: 另一个用于改造的常用线程转储:
这是改造配置:
任何想法,有人遇到过类似的问题吗?
java - 调试改造错误消息的最佳方法
我是Retrofit的新手。我用过 Volley,我有点喜欢 Retrofit。当我在尝试执行 POST时遇到这个非常非描述性的错误消息时,我正要选择 Retrofit 。
好吧,我必须说,这种类型的错误信息与撒哈拉沙漠中的保暖夹克一样有用。
有没有人知道从哪里开始调试这种类型的消息?我真的不打算委托给不提供有用错误消息的 REST api。
android - 改造的 NoClassDefFoundError.RestAdapter$Builder
我正在使用 Android Studio,我想使用Retrofit,这是一个用于 Android 和 Java 的休息客户端。
我在build.gradle
文件的依赖项中添加了改造。所以,我可以在我的项目中使用它,但是当我想执行它时,我有一个NoClassDefFoundError
forretrofit.RestAdapter$Builder
内部类。
在此先感谢您的帮助。
编辑解决方案:
- 将您的 Android Studio 更新到 4.0+
- 启用注释
Preferences > Compiler > Annotation Processors > Enable Annotation processing
。
android - 改造和授权饼干
我需要知道如何在改造中添加授权 cookie 标头。我已经看到了使用请求拦截器等的建议。下面是我正在尝试的,但这是正确的吗?首先,我已经需要一个 RequestAdatper 来第一次获取会话 ID。这只能由请求适配器的构建器设置。但我首先需要提出一个请求来获取会话 ID。我是否需要两个休息适配器,一个来获取 sessionId,另一个在我获得它之后。我真正需要的是适配器上的一种方法来设置cookie,但它似乎不是这样的方法。这越来越尴尬了。如何在改造中设置授权 cookie?我在常见问题解答或教程中没有看到这一点。
android - Android App 中的 Retrofit Adapter 放在哪里?
我不清楚 Refrofit 适配器和 API 类应该放在 Android 中的什么位置?我应该使用 Application 类还是 Singleton 来保留适配器?API接口类怎么样?
我有一些不同的 api,例如 MyApi1、MyApi2,它们在应用程序的不同点在片段内部被调用。
谢谢