Я только начинаю с Retrofit и RXJava. У меня есть вызов API, который загружает файл и возвращает http-ответ с пустым телом и статусом 200 (на случай, если все работает нормально). Я перевел это как модификацию:
@PUT("/in")
Observable<Void> uploadFile(@Body ResponseBody file);
Но когда я использую 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 лучше всего использовать Void. Это не работает с RXJava? Должен ли я внедрять адаптер? .
Редактировать 1:
Необходимо добавить CallAdapterFactory для модернизации, как указано в ответе rxjava">здесь. Мне также пришлось преобразовать параметр File. Тем не менее, ошибка остается.
Второй шаг после того, как я выясню, как сопоставить запрос на модернизацию, — это цепочка загрузок нескольких файлов. Как я могу это сделать?
Также приветствуются ссылки на расширенные руководства по использованию RXJava + Retrofit или примеры.