Documentation

Getting started
GraphQL basics. Start here if you're new to GraphQL :-)
Schema
Your GraphQL API has a schema which defines each field that can be queried or mutated and what types those fields are.
Data fetching
How graphql-java fetches data for each of the fields in a query
Execution
How to execute a query using the graphql-java engine
Data mapping
How graphql-java maps object data to graphql types
Scalars
How scalar types work in graphql and how to write your own scalars
Batching
How to avoid the dreaded N+1 calls for data and make your graphql system more efficient
Instrumentation
Instrumentation allows you to inject code that can observe the execution of a query and also change the runtime behaviours
Subscriptions
Graphql subscriptions allow you subscribe to a reactive source and as new data arrives a graphql query is applied over that data and the results are passed on.
Defer
Often when executing a query you have two classes of data. The data you need immediately and the data that could arrive little bit later.
Exceptions
Outlines the exceptions used in graphql-java
Field selection
How you can efficiently look ahead at the selected fields lower in the query
Relay
graphql-java has support for Relay
Logging
How logging is done in graphql-java
Concerns
Outlines certain application level concerns and how to address them
SDL Directives
How SDL Directives can be used to adjust the behavior of your graphql API
Contributions
Every contribution to make this project better is welcome. Thank you!