This repository has the code samples that were created as part of the GraphQL Udemy Course: The Modern GraphQL Bootcamp (with node.js and Apollo)
What is GraphQL?
GraphQL is an alternative approach to building API's which satisfies different clients with different use cases by accessing the same endpoint.
Is GraphQL a library or framework?
GraphQL is a specification which provides the capability to let the client ask for what they need and nothing more, this makes it easier to evolve APIs over time.
- It reduces the number of request-response cycles(roundtrip) that are necessary when we go through the traditional REST API.
- It allows rapid development of the product and control over the individual fields that are used by the clients.
GraphQL allows different programming languages to implement the specification in their own way, hence we see different libraries from different programming languages. Refer to: https://graphql.org/code/#language-support
Does it replace REST API?
We need to understand, what replacing REST API means,
Do we change the way we develop the API's? Yes, in terms of Syntax and the runtime environment which helps to resolve the queries.
Does GraphQL work on a different principles of REST API? Yes, GraphQL uses HTTP protocol, but doesn't depend on HTTP Verbs(GET, POST, PUT, DELETE) to perform CRUD operations on the data.
GraphQL Scalar Types:
Following are the scalar types defined by the GraphQL specification:
i) String ii) Float iii) Int iv) Boolean v) ID
Custom Types: