Class GraphQLModule

java.lang.Object
io.jooby.graphql.GraphQLModule
All Implemented Interfaces:
Extension

public class GraphQLModule extends Object implements Extension
GraphQL module on top of https://www.graphql-java.com.

Usage:


 install(new GrapQLModule(graphQL));

 
Module install a GET and POST route under /graphql path. Optionally, you can change the route path by setting the graphql.path property in your application configuration file.
Since:
2.4.0
Author:
edgar
  • Constructor Details

    • GraphQLModule

      public GraphQLModule(@NonNull graphql.GraphQL graphQL)
      Creates a new GraphQL module.
      Parameters:
      graphQL - GraphQL instance.
    • GraphQLModule

      public GraphQLModule(@NonNull graphql.schema.GraphQLSchema schema)
      Creates a new GraphQL module.
      Parameters:
      schema - GraphQL schema.
    • GraphQLModule

      public GraphQLModule(@NonNull String path, @NonNull graphql.schema.idl.RuntimeWiring wiring)
      Creates a new GraphQL module.
      Parameters:
      path - Classpath location for schema file. Usually schema.graphql.
      wiring - Runtime wiring to build a GraphQL instance.
    • GraphQLModule

      public GraphQLModule(@NonNull Path path, @NonNull graphql.schema.idl.RuntimeWiring wiring)
      Creates a new GraphQL module.
      Parameters:
      path - File system location for schema file. Usually schema.graphqls.
      wiring - Runtime wiring to build a GraphQL instance.
    • GraphQLModule

      public GraphQLModule(@NonNull graphql.schema.idl.RuntimeWiring wiring)
      Creates a new GraphQL module. Load schema from default classpath location: schema.graphql .
      Parameters:
      wiring - Runtime wiring to build a GraphQL instance.
  • Method Details

    • install

      public void install(@NonNull Jooby application) throws Exception
      Specified by:
      install in interface Extension
      Throws:
      Exception
    • setAsync

      public GraphQLModule setAsync(boolean async)
      Whether GraphQL query run in async mode or not. Default is true.
      Parameters:
      async - True to use async execution.
      Returns:
      This module.
    • setSupportGetRequest

      public GraphQLModule setSupportGetRequest(boolean supportGetRequest)
      Whether to support HTTP GET request.
      Parameters:
      supportGetRequest - True to support HTTP GET request.
      Returns:
      This module.