Skip to content

leangen/graphql-spqr-samples

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
December 15, 2018 02:22
September 23, 2016 16:36
December 15, 2018 02:23
December 15, 2018 02:23

GraphQL-SPQR Spring Boot Samples

Build Status Join the chat at https://gitter.im/leangen/graphql-spqr

Simplistic Spring Boot application for demoing GraphQL SPQR lib's capabilities. This is mostly used by us for doing live demo's in our talks, not as documentation.

Package with Maven, run the jar, play around.

Out of the box, the application runs on port 8000

GraphQL Playground (graphical environment) is mapped to /gui by default (e.g. http://localhost:8000/gui)

API is exposed on /graphql

Example queries can be found in javadoc for query methods

For an elaborate introspection query you might want to use:

query IntrospectionQuery {
    __schema {
      queryType { name }
      mutationType { name }
      subscriptionType { name }
      types {
        ...FullType
      }
      directives {
        name
        description
        locations
        args {
          ...InputValue
        }
      }
    }
  }
  fragment FullType on __Type {
    kind
    name
    description
    fields(includeDeprecated: true) {
      name
      description
      args {
        ...InputValue
      }
      type {
        ...TypeRef
      }
      isDeprecated
      deprecationReason
    }
    inputFields {
      ...InputValue
    }
    interfaces {
      ...TypeRef
    }
    enumValues(includeDeprecated: true) {
      name
      description
      isDeprecated
      deprecationReason
    }
    possibleTypes {
      ...TypeRef
    }
  }
  fragment InputValue on __InputValue {
    name
    description
    type { ...TypeRef }
    defaultValue
  }
  fragment TypeRef on __Type {
    kind
    name
    ofType {
      kind
      name
      ofType {
        kind
        name
        ofType {
          kind
          name
          ofType {
            kind
            name
            ofType {
              kind
              name
              ofType {
                kind
                name
                ofType {
                  kind
                  name
                }
              }
            }
          }
        }
      }
    }
  }