1 comment

[ 2.9 ms ] story [ 7.4 ms ] thread
It’s also not a “data shaping” language in any way. The shape is defined entirely by the server in the schema. The client can only choose to project selected fields and traverse down selected collections. GraphQL has useful projection capabilities that help, but you can’t select an attribute of an subobject as an attribute on its own and you can’t condense a single-item collection into a single item. It also cannot re-shape a sequence into a map keyed by some field in that sequence.

I like it over REST for allowing client control over traversal and data returned. Client has control over quantity but not shape of results.