Graphql: Difference between revisions

From bibbleWiki
Jump to navigation Jump to search
Line 16: Line 16:
* Boolean true or false values
* Boolean true or false values
* ID Unique identifier, Used to re-fetch an object or a the key for a cache
* ID Unique identifier, Used to re-fetch an object or a the key for a cache
=== Types ===
=== Structure Types ===
<syntaxhighlight lang="graphql">
<syntaxhighlight lang="graphql">
type Author {
type Author {
Line 32: Line 32:
   SPANISH
   SPANISH
   FRENCH
   FRENCH
}
</syntaxhighlight>
=== 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.
<syntaxhighlight lang="graphql">
schema {
  query: Query
  mutation: Mutation
}
</syntaxhighlight>
Examples
<syntaxhighlight lang="graphql">
type Query {
  author_details: [Author]
}
type Mutation {
  addAuthor: [firstName: String, lastName: String_):Author
}
</syntaxhighlight>
=== Allowing Null values ===
Adding a bang to the fields means the field is allowed to be nullable.
<syntaxhighlight lang="graphql">
type Author {
  id: ID!,
  firstName: String
  lastName: String
  rating: Float
  numOfCourses: Int
}
}
</syntaxhighlight>
</syntaxhighlight>

Revision as of 03:06, 6 August 2020

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
}