android - Retrofit2 和 Kotlin

标签 android rx-java kotlin retrofit2

我尝试结合使用 Kotlin RxJava 和 retrofit2。

@GET("/xxxxxxxxxxxx/{id}.json")
fun getHotel(@Part("id") id : String) : Observable<Response<Hotel>>

当我尝试调用此方法 (getHotels()) 时:

   var subscription = HotelsFactory.getHotelService((activity.applicationContext as App)
            .client)
        .getHotel(arguments.getInt("id").toString())
        .subscribeOn(Schedulers.computation())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe({response -> showHotels(response)}) 
         {throwable ->       throwable.printStackTrace()}
    mSubscription.add(subscription)

我拿这个:

@Part parameters can only be used with multipart encoding.

最佳答案

问题是您正在尝试使用 @Part 批注,而您应该使用 @Path 批注,只需替换它,您就应该一切就绪。

@Part,如错误所述,应该在提交多部分表单数据时使用,而不是为了修改 URL。

关于android - Retrofit2 和 Kotlin ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35848383/

相关文章:

java - Android - iOS block 回调的 Java 等价物?

android - BottomSheetDialog get Behavour 总是返回 null

java - 如何同时调用所有 `Mono<E>`

java - RXJava2 阻塞流,直到满足条件

spring - @ControllerAdvice处理异常,但不自定义响应

kotlin - 引用和值(value)比较

java - 如何获得年龄并将其用于另一项 Activity ?

android - 在 ORMLite 事务期间读取数据

android - Model View Presenter 和依赖注入(inject)是否正在成为 Android 开发的新标准?

android - 以编程方式获取设备的 EMUI 版本