Graphql

From bibbleWiki
Jump to navigation Jump to search

Introduction

This is a query language for your API.

Example

A example Query and Response provides an example. It is used by

  • Facebook
  • PsyPal
  • Twitter
  • Github

Core Concepts

Data Types

  • Int signed 32-bit integer
  • Float signed double-precision floating-point value
  • String utf8 character sequence
  • Boolean true or false values
  • ID Unique identifier, Used to re-fetch an object or a the key for a cache

Structure Types

type Author {
  id: ID,
  firstName: String
  lastName: String
  rating: Float
  numOfCourses: Int
}

Enums

enum language {
  ENGLISH
  SPANISH
  FRENCH
}

Query and Mutation Types

Every GraphQL service has a query type. It may or may not have a mutation type. Tyey act as an entry point into the schema.

schema {
  query: Query
  mutation: Mutation
}

Examples

type Query {
   author_details: [Author]
}

type Mutation {
   addAuthor: [firstName: String, lastName: String_):Author
}

Allowing Null values

Adding a bang to the fields means the field is allowed to be nullable.

type Author {
  id: ID!,
  firstName: String
  lastName: String
  rating: Float
  numOfCourses: Int
}