@michael_staib
GET
https://webservices.amazon.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=mY-Sup3r-s3cr3!-k3y&
AssociateTag=12345&
Operation=ItemLookup&
ItemId=0316067938&
ResponseGroup=Reviews&
TruncateReviewsAt=256&
IncludeReviewsSummary=False&
Version=2013-08-01&
Timestamp=[YYYY-MM-DDThh:mm:ssZ]&
Signature=[Request Signature]
Backend Engineer: Hmm. So you’re saying this “GraphQL” will allow any web or native engineer to arbitrarily query basically any field in any backend service, recursively, however they want, without any backend engineers involved?
Frontend Engineer: Yeah, right? It’s amazing!
[…silence…]
Backend Engineer: Guards, seize this person.
type Project {
name: String!
tagline: String
contributors: [User]
@cost(complexity: 10)
}
Operation |
GraphQL |
REST |
---|---|---|
Read |
Query |
GET |
Write |
Mutation |
PUT, POST, PATCH, DELETE |
Events |
Subscription |
N/A |
Graph Database Query Language
Bound to a specific data source
Facebooks version of OData
Good solution for binary streams
Limited to HTTP
Limited to the JavaScript world
Iterate faster.
Request what you need get exactly that.
Fetch data more efficiently.
Takes away the complexity of data-fetching.