I finished reading Learning GraphQL
Share
You can use GraphQL as a middleware to call RestAPI. Post the resolver input json to the RestAPI. GraphQL calls multiple resolvers in one request, so you can call multiple APIs from a single endpoint.
The GraphQL server is executed with the schema and resolver as arguments.
HASURA generates SQL from GraphQL. The schema and resolver are automatically generated from the database schema.
From the client side, it is convenient because it can be used like posting raw SQL. From the server side, it does not abstract anything, but increases the number of resolver implementations. Although it deviates from the single responsibility principle, there are also automatically generated abstractions such as HASURA.
I felt that if we could successfully abstract the resolver, we might be able to treat GraphQL as a specification that abstracts interactions between clients and servers.