Designing a Beautiful REST+JSON API

Les Hazlewood (Stormpath)
11:00am–12:30pm Monday, 04/20/2015
Server side technology
Location: Salon 8
Average rating: ****.
(4.69, 29 ratings)
Slides:   1-PDF 

Designing a really clean and intuitive REST + JSON API is no small feat. You have to worry about resources, collections of resources, pagination, query parameters, references to other resources, which HTTP Methods to use, HTTP Caching, security, and more! And you have to make sure it lasts and doesn’t break clients as you add features over time. Further, while there are many references on creating REST APIs with XML, there are much fewer references for REST + JSON.

In this presentation, Les Hazlewood – Stormpath CTO and Apache Shiro PMC Chair – will share all of the golden nuggets learned while designing, implementing and supporting JSON-based REST APIs, using examples from a clean real-world REST+JSON API. He will cover:

  • JSON-based data formats in a RESTful API
  • References to other JSON-based resources (aka ‘linking’).
  • Resource collections and pagination
  • How to map (and how not to map) HTTP methods to Resource CRUD
  • Resource partial updates
  • Supporting HTTP Method Overloading for clients that don’t support HTTP PUT and DELETE
  • API versioning strategies
  • Meaningful Error responses
  • Many-to-many resource relationships
  • HTTP Caching and Optimistic concurrency control.
  • Authentication and Security
Photo of Les Hazlewood

Les Hazlewood

Stormpath

Les Hazlewood is Stormpath co-founder and CTO and the Apache Shiro PMC Chair.

Prior to forming Stormpath, Les held senior architectural positions at Bloomberg and Delta Airlines and he was former CTO of a software engineering firm supporting educational and government agencies. Les has been actively involved in Open Source for more than 10 years, committing or contributing to projects like the Spring Framework, JBoss, and Apache Shiro. Les has a BS in Computer Science from Georgia Tech, and practices Kendo and studies Japanese when he’s not coding.

Speaking Experience:

2014
- DevNexus 2014
- ApacheCon NA 2014
- Cassandra Day Silicon Valley 2014

2013
- JavaOne (awarded “Rock Star” presenter)
- GlueCon 2013
- JAXConf 2013
- ApacheCon NA
- DeveloperWeek 2013
- Silicon Valley Grails User Group

2012
- JavaOne (awarded “Rock Star” presenter)
- Rich Web Experience
- Silicon Valley Web User Group @ Google
- East Bay Java User Group
- Silicon Valley Linux User Group

2011
- OSCON 2011
- DevNexus 2011
- San Francisco Java User Group, etc.

Most Recent Speaking Videos:

Build A Killer Node.js Client for your REST + JSON API (https://www.youtube.com/watch?v=1FVAS7MdPXo) @ BayNode Meetup 2014
API Strategies for Developers (http://www.youtube.com/watch?v=bx4WQ0bjruY) @ DeveloperWeek 2013
Beautiful REST + JSON API Design (http://www.youtube.com/watch?v=hdSrT4yjS1g) @ Google, Silicon Valley Web User Group, August 2012
Securing Passwords Properly (http://www.youtube.com/watch?v=6bR110r-RfY) @ Rackspace, Linux User Group, September 2012

Comments on this page are now closed.

Comments

Picture of Audra Carter
Audra Carter
04/24/2015 3:24am PDT

Hi Krishna,

You should see a PDF link at the top of this page.

Picture of Les Hazlewood
Les Hazlewood
04/23/2015 8:21am PDT

Hi Krishna,

Happy to! I sent the slides to the speaker coordinator to post, so hopefully they’ll be available soon.

Krishna Santhanam
04/21/2015 10:37am PDT

Hi Les:

Could you upload the slides for this presentation? Thanks!