I haven't looked at working with GraphQL too closely yet, but this seems to partly answer some questions I wondered about. Because REST leverages HTTP, our infrastructure--our client software, our frameworks and programming languages--already have some knowledge of what to do with it, how to parse URLs and GET and POST requests, and so on. But the discussions I've seen of GraphQL suggest that in order to make it work, additional layers of code must be added, such as Relay and Apollo, or some equivalent. Is this really the case? Perhaps this will change in the future--as GraphQL becomes more widespread, it may be integrated more natively into the infrastructure.
No, you don't need Apollo or Relay to make the GraphQL work.
The query of a GraphQL system is a string that represent the value of a GraphQL script. You can send this string using any protocol that you want, usually is by http with the verb POST. For execute the script in the server, in NodeJS for example, you just pass the string to a function that returns a promise. When the process is done you sent the response to the client.
For example, I am using pure GraphQL with serverlesss. The client post the script to my function, my function execute the graphql promise and response the client.
Thanks for the explanation. That seems reasonable.