Rootconf 2018

On scaling infrastructure and operations

Designing RESTful APIs

Submitted by Anand Chitipothu (@anandology) on Tuesday, 27 March 2018

videocam_off

Technical level

Intermediate

Section

Workshop

Status

Confirmed

Vote on this proposal

Login to vote

Total votes:  +1

Abstract

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.

Outline

  • 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
  • Excercises

  • Best Practices

    • Pratical tips and tricks
    • Versioning APIs
    • Documenting APIs

Speaker bio

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.

Links

Slides

https://www.slideshare.net/anandology/designing-restful-apis

Comments

Login with Twitter or Google to leave a comment