Android 与RxJava和Moshi一起使用协同程序不起作用

Android 与RxJava和Moshi一起使用协同程序不起作用,android,kotlin,rx-java,kotlin-coroutines,moshi,Android,Kotlin,Rx Java,Kotlin Coroutines,Moshi,我正在从事一个Android项目,该项目使用RxJava进行网络调用,现在我正在将其迁移到Coroutines。由于代码库很大,我必须同时使用RxJava和Coroutines并迭代地将RxJava方法转换为Coroutines,最终生成完全基于Coroutines的代码库Moshi是首选的转换器。当我使用RxJava时,网络调用工作正常并返回预期值。但是我使用协同路由的挂起方法并没有像预期的那样返回数据。返回的POJO不由JSON响应值填充。 下面是我的建筑规范翻新 retro

我正在从事一个Android项目,该项目使用
RxJava
进行网络调用,现在我正在将其迁移到
Coroutines
。由于代码库很大,我必须同时使用
RxJava
Coroutines
并迭代地将
RxJava
方法转换为
Coroutines
,最终生成完全基于
Coroutines
的代码库
Moshi
是首选的转换器。当我使用
RxJava
时,网络调用工作正常并返回预期值。但是我使用协同路由的挂起方法并没有像预期的那样返回数据。返回的POJO不由JSON响应值填充。 下面是我的建筑规范
翻新

        retrofit = Retrofit.Builder()
                .baseUrl(BuildConfig.BASE_URL)
                .addConverterFactory(MoshiConverterFactory.create())
                .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
                .client(buildHttpClient())
                .build()
下面是我的suspend方法,其中未填充响应体中的POJO


    @PUT(EndPoints.SOME_ENDPOINT + "{some_id}/")
    suspend fun addSomethingSomewhere(@Body body: RequestBody, @Path("some_id") someID: String): Response<SomeModel>

@PUT(EndPoints.SOME_ENDPOINT+“{SOME_id}/”)
suspend fun AddSomeThingAnywhere(@Body-Body:RequestBody,@Path(“some_-id”)someID:String):响应
下面是我尝试过的POJO的不同版本

// version 1
@Parcelize
data class SomeModel(var someValue: String? = null,
            var someOtherValue: List<String>? = null)

// version 2
@JsonClass(generateAdapter = true)
class SomeModel(@field:Json(name = "someValue") var someValue: String? = null,
               @field:Json(name = "someOtherValue") var someOtherValue: List<String>? = null)
//版本1
@包裹
数据类SomeModel(变量someValue:String?=null,
var someOtherValue:List?=null)
//版本2
@JsonClass(GenerateDapter=true)
类SomeModel(@field:Json(name=“someValue”)var someValue:String?=null,
@字段:Json(name=“someOtherValue”)var someOtherValue:List?=null)
我已经尝试过在suspend方法的返回类型中仅用
SomeModel
替换
Response
,但它仍然不起作用。我认为,在构建Reformation
addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())
时,问题与这一行有关,因为调用适配器是为
RxJava
提供的,这可能就是为什么我基于协同程序的代码没有按预期填充POJO的原因。任何帮助都将不胜感激。谢谢