Class RxJava3CallAdapterFactory

java.lang.Object
retrofit2.CallAdapter.Factory
retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory

public final class RxJava3CallAdapterFactory
extends retrofit2.CallAdapter.Factory
A call adapter which uses RxJava 3 for creating observables.

Adding this class to Retrofit allows you to return an Observable, Flowable, Single, Completable or Maybe from service methods.


 interface MyService {
   @GET("user/me")
   Observable<User> getUser()
 }
 
There are three configurations supported for the Observable, Flowable, Single, Completable and Maybe type parameter:
  • Direct body (e.g., Observable<User>) calls onNext with the deserialized body for 2XX responses and calls onError with HttpException for non-2XX responses and IOException for network errors.
  • Response wrapped body (e.g., Observable<Response<User>>) calls onNext with a Response object for all HTTP responses and calls onError with IOException for network errors
  • Result wrapped body (e.g., Observable<Result<User>>) calls onNext with a Result object for all HTTP responses and errors.
  • Method Summary

    Modifier and Type Method Description
    static RxJava3CallAdapterFactory create()
    Returns an instance which creates asynchronous observables that run on a background thread by default.
    static RxJava3CallAdapterFactory createSynchronous()
    Returns an instance which creates synchronous observables that do not operate on any scheduler by default.
    static RxJava3CallAdapterFactory createWithScheduler​(io.reactivex.rxjava3.core.Scheduler scheduler)
    Returns an instance which creates synchronous observables that subscribeOn(..) the supplied scheduler by default.
    retrofit2.CallAdapter<?,​?> get​(java.lang.reflect.Type returnType, java.lang.annotation.Annotation[] annotations, retrofit2.Retrofit retrofit)  

    Methods inherited from class retrofit2.CallAdapter.Factory

    getParameterUpperBound, getRawType

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • create

      public static RxJava3CallAdapterFactory create()
      Returns an instance which creates asynchronous observables that run on a background thread by default. Applying subscribeOn(..) has no effect on instances created by the returned factory.
    • createSynchronous

      public static RxJava3CallAdapterFactory createSynchronous()
      Returns an instance which creates synchronous observables that do not operate on any scheduler by default. Applying subscribeOn(..) will change the scheduler on which the HTTP calls are made.
    • createWithScheduler

      public static RxJava3CallAdapterFactory createWithScheduler​(io.reactivex.rxjava3.core.Scheduler scheduler)
      Returns an instance which creates synchronous observables that subscribeOn(..) the supplied scheduler by default.
    • get

      @Nullable public retrofit2.CallAdapter<?,​?> get​(java.lang.reflect.Type returnType, java.lang.annotation.Annotation[] annotations, retrofit2.Retrofit retrofit)
      Specified by:
      get in class retrofit2.CallAdapter.Factory