xoom-graphql
The VLINGO XOOM platform SDK GraphQL Server running on XOOM HTTP.
References
https://graphql.org/learn/serving-over-http
Code Example: Initializing GraphQL
public GraphQL graphQL(final String schemaName, final WarbleDataFetcher warbleDataFetcher) {
final SchemaParser schemaParser = new SchemaParser();
final SchemaGenerator schemaGenerator = new SchemaGenerator();
// Parse schema
final TypeDefinitionRegistry typeRegistry = new TypeDefinitionRegistry();
// SchemaLoader is our component (yet to be implemented) that loads
// a GraphQL schema as a String
final String schema = SchemaLoader.by(schemaName);
typeRegistry.merge(schemaParser.parse(schema));
// New runtime wiring
final RuntimeWiring runtimeWiring =
RuntimeWiring.newRuntimeWiring()
.type("Query", typeWiring -> typeWiring.dataFetcher("warble", warbleDataFetcher))
.build();
// New executable schema
final GraphQLSchema graphQLSchema = schemaGenerator.makeExecutableSchema(typeRegistry, runtimeWiring);
// Answer GraphQL instance
return GraphQL.newGraphQL(graphQLSchema).build();
}
Important
If using snapshot builds follow these instructions or you will experience failures.
License (See LICENSE file for full license)
Copyright © 2012-2023 VLINGO LABS. All rights reserved.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.