GraphQL |
REST |
GraphQL is an API design architecture, but with a different approach that is much flexible. |
REST is a robust methodology and API design architecture used to implement web services. |
It follows client-driven architecture. |
It follows server-driven architecture. |
It does not deal with the dedicated resources. |
It deals with the dedicated resources. |
It has a single endpoint that takes dynamic parameters. |
It has multiple endpoints. |
It provides stateless servers and structured access to resources. |
It provides stateless servers and flexible controlled access to resources. |
It is elastic in nature. |
It is not rigid in nature. |
It supports only JSON format. |
It supports XML, JSON, HTML, YAML, and other formats also. |
The client defines response data that it needs via a query language. |
Data represented as resources over HTTP through URI. |
It provides synchronous and asynchronous communication in multiple protocols such as HTTP, MQTT, AMQP. |
It provides synchronous communication through HTTP only. |
Its design based on HTTP (status, methods, and URI). |
Its design based on message exchange. |
It provides high consistency across all platforms. |
It is difficult to achieve high consistency across all platforms. |
Development speed is fast. |
Development speed is slow. |