Here's your chance to speak at GraphQL Summit in New York City, October 8 - 10, 2024! 🏙️ Submit your proposal by May 31.
Docs
Launch GraphOS Studio
You're viewing documentation for a previous version of this software. Switch to the latest stable version.

Mutiny


Apollo Android includes support for Mutiny.

Apollo types can be converted to Mutiny Uni types using wrapper functions MutinyApollo.from(...) in Java or using extension functions in Kotlin.

Conversion is done according to the following table:

Apollo typeMutiny type
ApolloCall<T>Uni<Response<T>>
ApolloSubscriptionCall<T>Multi<Response<T>>
ApolloQueryWatcher<T>Uni<Response<T>>
ApolloStoreOperation<T>Uni<T>
ApolloPrefetchUni<Void>

Prerequisites

See Mutiny documentation

Including in your project

Add the following dependency:

// Mutiny support
implementation 'com.apollographql.apollo:apollo-mutiny-support:x.y.z'

Usage examples

Converting ApolloCall to an Uni

Java:

// Create a query object
EpisodeHeroName query = EpisodeHeroName.builder().episode(Episode.EMPIRE).build();
// Create an ApolloCall object
ApolloCall<EpisodeHeroName.Data> apolloCall = apolloClient.query(query);
// Mutiny Uni
Uni<Response<EpisodeHeroName.Data>> uni = MutinyApollo.from(apolloCall);

Kotlin:

// Create a query object
val query = EpisodeHeroNameQuery(episode = Episode.EMPIRE.toInput())
// Directly create Uni with Kotlin extension
val uni = apolloClient.mutinyQuery(query)

Converting ApolloPrefetch to a Uni<Void>

Java:

//Create a query object
EpisodeHeroName query = EpisodeHeroName.builder().episode(Episode.EMPIRE).build();
//Create an ApolloPrefetch object
ApolloPrefetch<EpisodeHeroName.Data> apolloPrefetch = apolloClient.prefetch(query);
//Mutiny Uni<Void>
Uni<Void> uni = MutinyApollo.from(apolloPrefetch);

Kotlin:

// Create a query object
val query = EpisodeHeroNameQuery(episode = Episode.EMPIRE.toInput())
// Create Uni for prefetch with Kotlin extension
val uni = apolloClient.mutinyPrefetch(query)

Also, don't forget to cancel of your Observer/Subscriber when you are finished:

Cancellable cancellable = ReactorApollo.from(query).subscribe().with(item -> log("👍 " + item))
//Cancel of your Observer when you are done with your work
cancellable.cancel();
Previous
Reactor
Next
Gradle configuration options
Edit on GitHubEditForumsDiscord

© 2024 Apollo Graph Inc.

Privacy Policy

Company