Skip to content
Bret Patterson edited this page Mar 10, 2016 · 3 revisions

#Overview SchemaGen GraphQL is designed to be the connector between your Application and the GraphQL-Java schema and Execution package. At the highest level this package provides annotations and supporting classes for turning POJO's into an executable GraphQL Schema definition.

This includes (but is not limited to):

  • Annotations for defining your GraphQL Schema
  • Generics Type Mapper for turning POJO's and Annotation markup in an Executable GraphQL Schema
  • Datafetchers for connecting the Schema Model to your application
  • Typeconverters for converting different special Java types into the High Level types supported by Graphql
  • Extensions points for customizing all of the above behavior

The best way to become familiar with the SchemaGen GraphQL is to go through the example applications and to read this wiki.

Benefits of Graphql

At the heart of GraphQL is the exposure of your data model as a query able, connected graph. This changes our thinking about how we interact with wb services from one of

What endpoints does the server provide and what data do these queries return

into one more

What is data model that server exposes and how do I want to query it to get the information I need

This is a fundamental shift in how we think about web services. It's more akin the server being a database that can can connect directly to and write any query we want to get the data we need and nothing else.

The benefits that come along with this is:

  • GraphQL is self documenting.
  • GraphQL is explorable
  • Data fetching and Server round trips can be minimized
  • Extract the exact sub-graph of the data model you need
  • Batch these sub-graph extractions into a single web request
  • Perform single or batch mutations of these sub-graphs
Clone this wiki locally