This is an execution strategy for graphql-java that makes it easier to use rxjava's Observable. It currently requires Java8.
This is the famous "hello world" in graphql-rxjava:
import graphql.schema.GraphQLObjectType; import graphql.schema.GraphQLSchema; import graphql.execution.RxExecutionStrategy; import graphql.execution.RxExecutionResult; import static graphql.Scalars.GraphQLString; import static graphql.schema.GraphQLFieldDefinition.newFieldDefinition; import static graphql.schema.GraphQLObjectType.newObject; public class HelloWorld { public static void main(String[] args) { GraphQLObjectType queryType = newObject() .name("helloWorldQuery") .field(newFieldDefinition() .type(GraphQLString) .name("hello") .staticValue(Observable.just("world"))) .build()) .build(); GraphQLSchema schema = GraphQLSchema.newSchema() .query(queryType) .build(); Observable<?> result = ((RxExecutionResult)new GraphQL(schema, new RxExecutionStrategy()).execute("{hello}")).getDataObservable(); result.subscribe(System.out::println); // Prints: {hello=world} } }
Make sure mavenCentral is among your repos:
repositories {
mavenCentral()
}
Dependency:
dependencies {
compile 'com.graphql-java:graphql-rxjava:0.0.1'
}
graphql-rxjava is licensed under the MIT License. See LICENSE for details.
Copyright (c) 2015, NFL and Contributors