问题标签 [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.
java - Android Retrofit 参数化@Headers
我正在使用 OAuth,每次发出请求时都需要将 OAuth 令牌放在我的标头中。我看到了@Header
注释,但是有没有办法让它参数化,以便我可以在运行时传入?
这是概念
@Header({Authorization:'OAuth {var}', api_version={var} })
你可以在运行时传递它们吗?
java - 使用带有 Cookie 持久性的改造
伙计们,我正在使用改造,我想知道如何透明地处理会话 cookie。为此,我扩展了给定的 ApacheClient 并在对 ApacheClient.execute(HttpClient, HttpUriRequest) 的自定义调用中使用 CookieStore :
有没有更好的方法来使用内置的改造 API(没有 HttpClient 扩展)?
android - 改造 @Body 在 HTTP 请求中显示为参数
我以前成功地使用 Square 的Retrofit@GET
进行Web API 调用,但是当尝试@BODY
在@POST
调用中发送 JSON 时,在服务器(Rails)上,JSON 显示为参数而不是正文请求。
我的理解是,@BODY
会将该方法参数添加到正文中的请求中。
知道我做错了什么吗?
网络接口:
发出网络请求:
android - Robospice/ Retrofit 后台服务访问数据库
我已经成功创建了一个Retrofit API Rest 客户端,它同时进行GET和POST调用,并将其作为后台服务合并到Robospice中。
但是,我希望Robospice服务连接到数据库并异步保存从GET调用中检索到的对象。使用Retrofit Callback
类似乎是显而易见的方式,但需要连接到数据库Context
,我担心会泄露Context
.
那么,让Robospice SpiceService
在处理请求之前和之后将数据持久保存到数据库的最佳方法是什么?
android - 使用 Retrofit 发布正文 JSON
我正在尝试使用 Retrofit 库发布 JSONObject,但是当我在接收端看到请求时,内容长度为0
.
在 RestService 接口中:
它被调用,
而且我确定registrationBundle
aJSONObject
不是 null 或空的(其他字段当然没问题)。在发出请求的那一刻,它注销为: {"zip":19312,"useAccountZip":false,"controllerName":"mine","registrationCode":"GLD94Q"}
。
在请求的接收端,我看到请求有Content-type: application/json
但有Content-length: 0
.
像这样在正文中发送 JSON 不起作用有什么原因吗?我在使用 Retrofit 时遗漏了一些简单的东西吗?
android - 使用 Robospice 和 Retrofit 将图像上传到 Google appengine
我正在尝试使用带有 Retrofit 的 Robospice 将图像上传到我的 Google appengine blobstore。我可以获取 GAE 提供的上传 URL,但是当我尝试将带有图像的 URL 作为 Multipart POST 发送时,出现异常:
E//RequestRunner.java:134(24689): Thread-3363 请求网络执行期间发生异常:null
E//RequestRunner.java:134(24689):retrofit.RetrofitError
E//RequestRunner.java:134(24689): 在改造.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:343)
E//RequestRunner.java:134(24689): 在改造.RestAdapter$RestHandler.invoke(RestAdapter.java:222)
E//RequestRunner.java:134(24689): at $Proxy0.uploadImage(Native Method)
E//RequestRunner.java:134(24689): 在ginger.connexus.network.UploadImage.loadDataFromNetwork(UploadImage.java:24)
E//RequestRunner.java:134(24689): 在ginger.connexus.network.UploadImage.loadDataFromNetwork(UploadImage.java:1)
E//RequestRunner.java:134(24689): 在 com.octo.android.robospice.request.CachedSpiceRequest.loadDataFromNetwork(CachedSpiceRequest.java:45)
E//RequestRunner.java:134(24689): 在 com.octo.android.robospice.request.RequestRunner.processRequest(RequestRunner.java:130)
E//RequestRunner.java:134(24689): 在 com.octo.android.robospice.request.RequestRunner$1.run(RequestRunner.java:197)
E//RequestRunner.java:134(24689): 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
E//RequestRunner.java:134(24689): 在 java.util.concurrent.FutureTask.run(FutureTask.java:234)
E//RequestRunner.java:134(24689): 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
E//RequestRunner.java:134(24689): 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
E//RequestRunner.java:134(24689): 在 java.lang.Thread.run(Thread.java:841)
D//RequestProgressManager.java:75(24689):发送进度完成
我的 API 接口
我的改造 Gson Spice 服务
我的改装香料请求课程
我的执行电话
android - Android改造转换器异常
如果您可以从服务器获得 2 个不同的响应请求,如何格式化/设计您的课程?
注意:如果 JSON 响应格式(设计)与您的类不同,Retrofit 将引发异常。JSON 响应中的所有字段都必须存在于您的类中。
Java 类,如 JSON 响应:
JSON 响应:
这就是我请求响应的方式:
如果登录失败,public List<String> message;
则将填充来自 Web 服务器的消息:
但是,如果 Web 服务器没有回复任何内容(成功登录),那么我会通过改造得到一个异常,因为public List<String> message;
它是空的,Web 服务器回复了一个简单的空字符串消息而不是字符串数组。如果我更改public List<String> message;
为,它会起作用public String message;
,但我不能,因为如果登录失败,它必须是一个字符串数组。
android - Android 改造会话 - cookie
我正在使用改造来反序列化来自 Web 服务器的 json 请求,我需要在我的应用程序中创建一个会话(cookie?)(它应该在 120 分钟内到期)。问题是我不知道如何实现它。
只有在应用程序正在运行时,此会话才应该持续存在。
最低 SDK 要求为 8
android - Square 的改造客户。可变数量的参数
我正在使用 Square 的 Retrofit 库。我需要使用可变数量的参数来实现请求。我找到了建议(链接),我试试这个:
我改变
至
并使用以下:
第一种方法效果很好,但第二种方法不起作用。怎么了?
android - POST 与 Android 改造
我是 Android 编程和使用 Retrofit 的新手。我已经对此主题进行了大量研究,但无法找到适合我需求的解决方案。我正在使用我们的 API 并尝试发出 POST 请求。我使用以下非改造代码成功地实现了这一点:
现在,我正在尝试使用 Retrofit 获得相同的结果,但我不确定如何使用回调从我们的 API 中获取 JSON(我假设这个调用应该异步发生?):
我用以下方法制作了一个接口:
并在我的 Activity 的 onCreate 方法中实例化了 RestAdapter 等。当用户按下“登录”按钮(输入用户名和密码后)时,在按钮的 onClick 方法中调用以下内容:
然而,这并没有按预期工作,我真的认为我没有正确处理这个问题。我希望能够向我们的服务器发送一个 POST,它会发回关于该用户的 JSON 格式数据块。如果有人能指出我正确的方向,那将不胜感激。先感谢您