Универсальный преобразователь типа дооснащения - PullRequest
0 голосов
/ 28 марта 2020

Я настраиваю REST-клиент для приложения Android и хочу направить любой ответ как успешный и сопоставить его с Either<Error, Success>. Я также хочу сделать это более универсальным, если это возможно. Поскольку в Retrofit у вас могут быть разные типы возврата (Single<T>, Deferred<T>, Call<T>, et c.), Я бы хотел создать такой плагин для Retrofit, чтобы все Single<Either<Error, Success>>, Deferred<Either<Error, Success>, Call<Either<Error, Success>> будет работать.

Я думал, что мне нужен ConverterFactory, однако там у меня есть доступ только к okhttp.ResponseBody, и я не могу видеть никаких деталей о запросе, только необработанную информацию.

Есть ли способ, которым я могу вставить свой код между, например, Retrofit Response<T> и Single<T>/Call<T>/etc, или мне нужно создать адаптер вызова для каждого случая?

...