News for hackers. Stuff that matters.
Re:The GitHub GraphQL API by niftich on Wednesday September 14, 2016 @03:02PM (#12500194)
The dirty little secret of "RESTful" APIs is that everyone was pretty much generating bespoke responses to every request anyway out of data coming out of a datastore.

Nobody has static files sitting on a server anymore except for static auxiliary assets (CSS, scripts, fonts) or if you're actually running a website with static content, which is exceedingly rare. Everyone has some kind of request router that parses the URL and the body and figures out what to do next, makes a query to a backing database, then assembles and massages the response to make it look like the mediatype the client expects.

Re:The GitHub GraphQL API by mediascreen on Wednesday September 14, 2016 @03:08PM (#12500245)
Using a CDN in front of an api is not that uncommon from what I have seen.

And with clients basically creating their own queries, I imagine the performance implications will be less predictable than with a more rigid REST API.

Re:The GitHub GraphQL API by niftich on Wednesday September 14, 2016 @03:26PM (#12500412)
Fair point.

To get better caching, one could:

- Canonicalize the query to identify queries that look different but are actually equivalent; use the hash of the canonicalized query as a cache key. You can do this on the edge cache, or on the backend.

- Cache more full-bodied resources, where additional fields are present, and perform the filter at evaluation time.