Overview#Representational State Transfer or REST is an architectural style that sets certain constraints for designing and building large-scale distributed hypermedia systems.
As an architectural style, Representational State Transfer has very broad application. The designs of both HTTP 1.1 and also URIs follow RESTful principles.
In Representational State Transfer, Hypermedia As The Engine Of Application State is an architecture constraint in which the client interacts with hypermedia links, rather than through a specific interface. With REST, the core concept is that everything is a resource. While REST was a great solution when it was first proposed, there are some pretty significant issues that the architecture suffers from.
REST’s defining feature is the ability to reference resources — the problem is when those resources are complicated and relational in a more complex organization known as a graph. Fetching these complicated graphs requires round trips between the client and server, and in some cases, repeated trips for network conditions and application types.
What this ultimately results in is a system where the more useful it is, the slower it is. In other words, as more relational data is presented, the REST system chokes on itself.
More Information#There might be more information for this subject on one of the following:
- [#1] - http://nordicapis.com/is-graphql-the-end-of-rest-style-apis/ - based on information obtained 2017-03-12-