Designing RESTful APIs
Submitted by Anand Chitipothu (@anandology) on Tuesday, 27 March 2018
REST a simple architectural style based on the priniciples of HTTP for building modern web applications and APIs. This hands-on workshop takes you though everything that you need to know to design great RESTful APIs.
During the workshop, the participants will understand the key concepts behind RESTful APIs, critically examine some of the popular APIs, design an API from scratch and see how APIs evolve. We’ll also take couple of popular APIs, rip them apart and design a better version of them. Partipants will be divided into smaller groups to allow discussions and most of the time is spent in thinking about the APIs and discussions.
Introduction to HTTP
- Internet vs. World-Wide-Web
- Key Concepts of Web
- URL, HyperText, HTTP
Representational State Transfer (REST)
- What is REST?
- Thinking in Resources
- HTTP Methods
- Status Codes
- Resource Representation
Examples of RESTful APIs
- Good and bad examples of RESTful APIs
Designing an API
- version 0 - Naive CRUD API for blog posts.
- version 1 - blog api made RESTful
- version 2 - add support for tags
- version 3 - add support for comments
- version 4 - add suport for authors
Authentication and Secutity
- Introduction to authentication patterns
- Study of Basic Auth, OAuth, access keys and JWT
- Adding authentication to the blog API
- Pratical tips and tricks
- Versioning APIs
- Documenting APIs
Anand has been crafting beautiful software since a decade and half. He’s now building a data science platform, rorodata, which he recently co-founded. He regularly conducts advanced programming courses through Pipal Academy. He is co-author of web.py, a micro web framework in Python. He has worked at Strand Life Sciences and Internet Archive.