CORBA / DCOM
XML-RPC
SOAP
REST
inherent complexity
verbose, xsd schemas,
http, overhead
crud, http verbs, <json />
Roy Fielding dissertation: http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
representational state transfer
ful
ish
Ask for what you need, get exactly that
Mutate (create, update, delete) your data
GraphQL APIs are organized in terms of types and fields, not endpoints
Use any persistence layer and define your own data resolvers
🙈
good ol'
new kid on the block
-ish
GraphQL Puts Client Performance First
GraphQL is always the
smallest possible request,
whilst REST generally defaults
to the fullest.
REST Makes Caching Easier At All Levels
The URL in [REST] APIs is a globally unique identifier that the client can leverage to build a cache
In GraphQL, though, there's no URL-like primitive... you need an API implementation to expose such an identifier