代码之家  ›  专栏  ›  技术社区  ›  Hector

如何解决找不到用于改装的呼叫适配器2。响应<okhttp3.ResponseBody>

  •  0
  • Hector  · 技术社区  · 7 年前

    Retrofit2 在我的Android应用程序中。

    我的渐变。构建类似于:-

    retrofit2Version = "2.4.0"
    rxAndroidVersion = "2.0.2"
    rxJavaVersion = "2.1.12"
    okhttp3Version = "3.10.0"
    
    implementation "com.squareup.okhttp3:logging-interceptor:$okhttp3Version"
    
    implementation "com.squareup.retrofit2:retrofit:$retrofit2Version"
    implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofit2Version"
    implementation "com.squareup.retrofit2:converter-scalars:$retrofit2Version"
    implementation "com.squareup.retrofit2:converter-jackson:$retrofit2Version"
    
    implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion"
    implementation "io.reactivex.rxjava2:rxjava:$rxJavaVersion"
    

    @GET 方法

    @Headers("accept: */*")
    @GET("experiment")
    Observable<Response<ResponseBody>> getObservableExperiment(@Header("Authorization") @NonNull final String authenticationToken, @Query("active") @NonNull final Boolean isActive);
    
    @Headers("accept: */*")
    @GET("experiment")
    Call<ResponseBody> getExperiment(@Header("Authorization") @NonNull final String authenticationToken, @Query("active") @NonNull final Boolean isActive);
    
    @Headers("accept: */*")
    @GET("experiment")
    Response<ResponseBody> getWrappedExperiment(@Header("Authorization") @NonNull final String authenticationToken, @Query("active") @NonNull final Boolean isActive);
    

    getObservableExperiment() getExperiment() 工作正常吗

    getWrappedExperiment() 失败有:-

     Caused by: java.lang.IllegalArgumentException: Could not locate call adapter for retrofit2.Response<okhttp3.ResponseBody>.
          Tried:
           * retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
           * retrofit2.ExecutorCallAdapterFactory
            at retrofit2.Retrofit.nextCallAdapter(Retrofit.java:241)
            at retrofit2.Retrofit.callAdapter(Retrofit.java:205)
            at retrofit2.ServiceMethod$Builder.createCallAdapter(ServiceMethod.java:238)
    

    有呼叫适配器吗 retrofit2.Response<okhttp3.ResponseBody> ?

    0 回复  |  直到 7 年前