android - Retrofit 2 on Android 6 设置零路径参数

标签 android kotlin retrofit2

我正在使用 Retrofit 2 库版本 2.3.0,突然间它开始用零而不是实际数字替换整数路径参数。

我使用的是 Kotlin (1.2.21),我有一个类似的方法:

@GET("posts/{postId}")
fun getPosts(@Path("postId") postId: Long): Single<Post>

这工作正常,但现在当我在 Android 6(设备和模拟器)上运行我的应用程序时,postId 路径参数始终为零,即 posts/0 被调用。 Android 7 和 8 没问题。 Retrofit 和 OkHttp 版本没有变化,界面也没有变化。

我查看了构建的请求,里面的 OkHttpCall 有一个 args 数组,其中一个值是 Long 类型,值为 0。这是仅在 Android 6 上,其他人在那里具有正确的值。 ServiceMethod 在界面中设置了正确的 URL,它有一个 ParameterHandler 用于 BuiltInConverter.ToStringConverter 类型的 postId >。

应用程序是 multiDexed 且未使用 ProGuard。会发生什么?

最佳答案

这是由 Instant Run 引起的。在我禁用 Retrofit 后它完美运行。

关于android - Retrofit 2 on Android 6 设置零路径参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48665511/

相关文章:

kotlin - 什么代表 Kotlin 中的 arrayOfNulls?

android - 错误 : getSystemServise unresolved reference - kotlin android studio

android - 在照片引用和 key 的帮助下使用改造库获取 body 响应中的照片

android - 无法识别启动 Activity : Unable to list apks Error while Launching activity

android - Nexus 9 景观资源

java - BottomNavigationViewEx 空指针异常

list - Kotlin - 列表过滤中的列表

java - 使用 Retrofit2 调用 API 时无法接收数据

android - 如何在 mvvm android 中处理异常并将该异常传递给我们的 View

android - 使用 Asynctask 进行 GCM 注册时出错