Apollo Kotlin
A strongly-typed, caching GraphQL client for the JVM, Android, etc.
...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.