I recently wrote a small wrapper for the Flickr API in backbone.js. I found the Flickr API to be a little strange but very consistent in its strangeness. When developing a web-based application, thinking about your API can help demystify design and responsibility of controllers, models, routes etc. Here are a few resources I’ve found helpful for HTTP APIs, REST, and versioning APIs.
- Rest Worst Practices – From 2008 but still a great resource Jacob Kaplan-Moss writes about his experience with REST and what not to do
- Creating an API – John Nunemaker of Ordered List and now GitHub writes about creating an API for Guages. His use of presenters to present models as JSON is a great pattern.
- Separating API logic with decorators – Simon Coffey uses decorators to easily advance the version of an API. This pairs nicely with Nunemaker’s use of the presenter pattern.