私はちょうどRetrofitとRXJavaから始めています。私は、ファイルをアップロードし、空のボディとステータス200(すべてがうまくいく場合)のhttp応答を返すapi呼び出しを持っています。私はと改造することを翻訳:RXJava/RxAndroidを使用したレトロフィット:Observableはどのように機能しますか?
@PUT("/in")
Observable<Void> uploadFile(@Body ResponseBody file);
しかしWHE mApi.uploadFile(F)を使用する場合、私は例外を取得:
Caused by: java.lang.IllegalArgumentException: Could not locate call
adapter for rx.Observable<java.lang.Void>. Tried:
* retrofit.ExecutorCallAdapterFactory
at retrofit.Retrofit.nextCallAdapter(Retrofit.java:207)
at retrofit.Retrofit.callAdapter(Retrofit.java:175)
at retrofit.MethodHandler.createCallAdapter(MethodHandler.java:45)
私はRxJavaない空の応答をすることをhereを読んで、最高実用的にはVoidを使用することです。それはRXJavaでは動作しませんか?アダプターを実装する必要がありますか? 。
編集1:
CallAdapterFactoryが答えhereに述べたように改造するために追加が必要です。 Fileパラメーターを変換する必要もありました。それでも、エラーは残ります。
リクエストをレトロフィットにマップする方法を理解した後の2番目のステップは、大量のファイルアップロードを連鎖させることです。それ、どうやったら出来るの?
RXJava + Retrofitやサンプルの使用に関する高度なチュートリアルへのリンクも歓迎します。
...私はそれを考え出した。私の問題は、 "Observable"で使用されているVoid型によって発生しているようです。 –