One critique I haven't seen about GraphQL is that it's less human-readable. I know that "GraphQL is unapologetically driven by the requirements of views and the front‐end engineers that write them"[0], but if everything switched to GraphQL endpoints, I'd miss having URLs you could change by hand :/
> I'd miss having URLs you could change by hand :/
URLs you can change by hand in API calls? When I'm at that level, I can just as easily edit the call body.
> One critique I haven't seen about GraphQL is that it's less human-readable.
My experience is the opposite, reading a complete graphql query is way easier than reading a mix of URL, query parameters and entity body, even more so when I need multiple such queries to replace a single graphql query.
And the query tells me exactly what's in the result, to boot, so it acts as documentation for the data-extraction code.
The conflation of route and content is frustrating for developing single page apps, but it maps better to my understanding of disk files and folders, thus making the URL more human readable and easier to toggle and change by hand.
If everything was an SPA, you'd have to interact with the data through the frontend, which speaks to some singular GraphQL endpoint, hence my mentioning that GraphQL itself mentions that it is "unapologetic" about its front-end orientation.
> The conflation of route and content is frustrating for developing single page apps, but it maps better to my understanding of disk files and folders, thus making the URL more human readable and easier to toggle and change by hand.
Cool, so use that for situations where direct human interactions is expected or convenient, what's the issue?
> If everything was an SPA, you'd have to interact with the data through the frontend
Which you already do, the URL is part of the frontend.
I can only assume that the people downvoting this comment didn't see the comment I replied to before it was edited. The "5 minutes" thing was a direct reference.
[0]: https://facebook.github.io/graphql/October2016/#sec-Overview