A strongly-typed, caching GraphQL client for Java and Kotlin multiplatform. Apollo Kotlin (formerly Apollo Android) is a GraphQL client that generates Kotlin and Java models from GraphQL queries. Apollo Kotlin executes queries and mutations against a GraphQL server and returns results as query-specific Kotlin types. This means you don't have to deal with parsing JSON, or passing around Maps and making clients cast values to the right type manually. You also don't have to write model types yourself, because these are generated from the GraphQL definitions your UI uses. Because generated types are query-specific, you can only access data that you actually specify as part of a query. If you don't ask for a particular field in a query, you can't access the corresponding property on the returned data structure. This library is designed primarily with Android in mind, but you can use it in any Java/Kotlin app, including multiplatform.
Features
- Java and Kotlin Multiplatform code generation
- Queries, Mutations and Subscriptions
- Reflection-free parsing
- Auto Persisted Queries
- Custom scalar types
- AppSync and graphql-ws websockets
- Fake models for tests
- GraphQL AST parser