the REST guidelines as part of his doctoral dissertation; • 2001 – eBay launch its REST based API; • 2002 – Amazon launch its REST API; • 2004 – the Flickr’s turn;
a new record into the database, send an email notification and connect to a 3rd-party service (like shipping or payment). Client API Backend Third party Database Mail service
"addedAt": "2022-10-25T22:41:48.699Z" "user": "https://api.acme.com/users/12", "products": [ "https://api.acme.com/products/5", "https://api.acme.com/products/43", "https://api.acme.com/products/35", "https://api.acme.com/products/12" ] } What if clients would provide information for these records?
1313){ id addedAt address user { name } } } «Validation error of type FieldUndefined: Field 'address' in type 'Order' is undefined @ 'getOrder/address'»
Conceptual model Resources Graph Introspection No Yes Data typing No Yes Data shape Defined by server Defined by clients Programming language Built-in support External libraries are needed Tools wget, cURL, Postman Postman Source: Building Modern APIs with GraphQL, AWS Summit London 2019, Robert Zhu (link)
Hard to implement Easy (data annotations) Request/Response validation Only request Both WebSockets Hard to implement Easy (data annotations) API Documentation Using OpenAPI/Swagger Built-in with introspection Integration with AWS services Many alternatives Apache Velocity Source: Five reasons you should consider AppSync over API Gateway, Lumigo Blog, Yan Cui (link)
Italia where he helps international customers succeed using AWS and cloud-native architectures. He’s an AWS Authorized Instructor, an AWS Community Builder, a co-organizer of ServerlessDays Rome and the AWS UG in Rome.