问题标签 [retrofit2.6]

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 投票
1 回答
24 浏览

android - 无法避免手动施法

改造 2.6。

在役:

在我的 ViewModel 中:

如您所见,我必须转换为List<Event> 是否可以避免手动转换?

0 投票
0 回答
280 浏览

android - 当我在地址中有 ó 时,改造 api 表单 url 编码不起作用,如果我与邮递员打交道,它会变成 ón Android 相同的 api,而不是它的工作原理?

长期以来我一直在研究这个问题,但我没有成功。我仍在努力解决这个问题。

我在我的应用程序中使用了 Retrofit Api 2.6.2 版本。

如果我用 Postman 命中 api,它会成功运行。

1. 我从 google api 获取地址。下面是我得到的结果。

地址[addressLines=[0:"Av. Pueyrredón 1443, C1118AAE CABA, Argentina"],feature=1443,admin=Buenos Aires,sub-admin=Comuna 2,locality=null,thoroughfare=Avenida Pueyrredón,postalCode=C1118,countryCode =AR,countryName=Argentina,hasLatitude=true,latitude=-34.594003199999996,hasLongitude=true,longitude=-58.4018958,phone=null,url=null,extras=null]

  1. 我正在使用以下请求在服务器上更新此地址。

网址: http ://ec2-52-43-39-199.us-west-2.compute.amazonaws.com:8080/readyBApp/rest/profile/saveOrUpdateAddress?addressId=0&userId=1216&address1=Avenida%20Pueyrred%C3% B3n&address2=1443&state=Buenos%20Aires&zip=C1118&country=Argentina&propertyName=kk&isPrimaryAddress=true&isDefaultAddress=true&longitude=-58.401897&latitude=-34.594&userRole=po&ccStripeToken=card_1FKhmXKp2WkwUzXPqrGx1vV9&isByWizard=

使用 okhttp 记录请求改造:

使用 okhttp 进行响应改造的日志:

问题:地址 1 转换错误字符:

改造 API:

创建 API:

0 投票
2 回答
2601 浏览

java - 如何在 Retrofit 2.6 中将列表发布为正文

已经搜索了很多,但找不到合适的答案。我有以下 JSON。我知道这是一个 List 对象。如何在改造 2 中以 @Body 的身份发送 POST 请求?此外,我需要从 API 获得成功响应的 POJO 是什么。

请注意,我已经研究了所有基于 JSONObject 的解决方案。我只寻找基于 POJO 的解决方案,其中列表/字段作为构造函数发送。

0 投票
2 回答
511 浏览

android - Dagger 2模块中为OkHttpClient提供HttpLoggingInterceptor实例的两个问题

我正在使用 Kotlin 和 Dagger 2 开发一个 Android 项目。我有一个NetworkModule它应该提供 Retrofit 的单例实例。我在其中定义了所有这些提供程序功能。

下面的所有代码片段都在里面NetworkModule

我的第一个问题:

我想提供一个HttpLoggingInterceptorfor的单例OkHttpClient。这是我尝试过的:

但是我得到一个编译错误:Unresolved reference 'setLevel'并且Unresolved reference 'Level',如何摆脱它?

我的第二个问题:

我将 OkHttpClient 提供程序函数定义为:

我怎样才能使它只有addInterceptor(loggingInterceptor)在调试模型中,而在发布模式下才 HttpLoggingInterceptor在上面的提供程序函数中添加?

0 投票
1 回答
529 浏览

android - 如何使用改造 2 获取文件大小。我试过返回-1?

我想构建应用程序来下载带有进度条的文件,我试图从服务器获取文件大小。使用改造 2 库但未能获得总文件大小。并返回-1,我测试了它的工作build:gradle:3.0.1但不是build:gradle:3.5.3

这是我的代码

但是当我检查文件时它工作得很好。

0 投票
0 回答
1614 浏览

android - 如何在 kotlin 协程中正确使用暂停而不是延迟?

我正在开发新闻应用程序,并且自从 Retrofit 2.6.0 发布并支持挂起功能以来,我已经实现了 kotlin 协程。我已经在延迟函数上实现了挂起函数并遵循了本教程,但是我得到了空数据我想知道我在哪里犯了错误?我必须进行更正才能正确显示数据。on stacktrace getting following exception kotlinx.coroutines.JobCancellationException: Job was cancelled;job=JobImpl{取消}@677a578

我在 SportInterface.kt 中定义了我的终点

以前它在下面

并按照以下方式在 NewsRepository 中获取结果。

在我的 MainViewModel.kt 下面

在我的 SportNewsResponse.kt 数据类下方

下面的文章.kt

在我来自服务器的 jsonResponse 下面

在我的改造实施 appmodules.kt 下面

在 TopHeadlinesFragment.kt 下方

0 投票
2 回答
3701 浏览

android - HTTP 请求在 Android 应用程序中返回“错误请求”(代码 400),但适用于邮递员(代码 200)

我有一个关于 android 应用程序的 API,它工作了很长时间。系统得到更新,现在我在同一个请求中收到“400 - Bad Request”(没有更改)。但在 Postman 或 Advanced REST Client 中运行良好。

我正在使用:Java Android Retrofit 2 OkHTTP GSON

安卓应用

接口登录服务

登录

POST 请求

回复

高级 REST 客户端的相同请求

要求

回复

有人可以帮助我吗?

0 投票
2 回答
124 浏览

android - 使用多部分表单数据 Retrofit2 的问题

我知道使用 multipart 进行简单的文本身份验证是不明智的。但我需要将它与提供给我的 api 一起使用。我尝试了所有可能的方法。

邮递员可以正常工作,但改装 2 不行

请求类型详细信息

请求类型详细信息

尝试使用的代码

API 服务代码

0 投票
1 回答
48 浏览

android - 在 Android 中使用 Retrofit 上传图片

我正在尝试使用改造将图像上传到网络服务器。

API 是使用 Dot Net 开发的。API 在邮递员上运行良好,但在 android 中显示错误。

这是我的界面

这是我的代码

请帮助我将图像成功上传到服务器。请更正我的代码并告诉我需要进行哪些更改。谢谢

0 投票
0 回答
150 浏览

android - 使用 Intent.ACTION_OPEN_DOCUMENT 选择文件并使用 Retrofit2 上传到服务器

有一些关于从 Android 选择和上传文件的相关问题。但是这些答案已经过时,并且这些响应中的大多数方法都已消失/已弃用。

我正在尝试使用Intent.ACTION_OPEN_DOCUMENT从本地存储中获取文件并使用Retrofit将其上传到服务器。但我无法将 Uri 转换为 File 实例。另外,我无法使用 Retrofit 上传该文件。

这是我用来获取文件的代码:

我得到的错误是:

我的目标是:
  • 从安卓获取文件
  • 使用改造将该文件上传到服务器
  • 从服务器下载文件
  • 将该文件保存到本地存储

任何一点帮助将不胜感激。我还创建了一个GitHub Repo来重现该问题。