Wednesday, February 28, 2018

REST API Best Practices 5: Further Reading

Since I started writing on REST API Best Practices there have been some interesting new developments. Going forward we'll take a look at some of them, covering things like documenting APIs, how to define relationships between different resources, and various tools that - while not specifically REST-related - are useful for working with JSON as a data interchange format.

In the meantime, here's a list of articles that provide more information on a lot of the concepts that were outlined in the first four posts on REST API Best Practices. No doubt a lot more has been written about REST APIs in the last few years, but I think these resources are a pretty good window into some of the original sources that shaped the best practices used for REST API design today.

If you want to suggest other articles please feel free to comment below (note that comments are moderated and won't appear immediately).

Tutorials
http://www.restapitutorial.com/
http://obeautifulcode.com/API/Learn-REST-In-18-Slides/

General best practices
http://www.restapitutorial.com/
https://zapier.com/learn/apis/
https://s3.amazonaws.com/tfpearsonecollege/bestpractices/RESTful+Best+Practices.pdf
http://apigee.com/about/api-best-practices
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api
http://www.slideshare.net/mario_cardinal/best-practices-for-designing-pragmatic-restful-api
http://apigee.com/about/api-best-practices/restful-api-design-second-edition
http://devproconnections.com/web-development/restful-api-development-best-practices
http://www.restapitutorial.com/
http://madhatted.com/2013/3/19/suggested-rest-api-practices

HATEOAS
http://restcookbook.com/Basics/hateoas/
http://timelessrepo.com/haters-gonna-hateoas

HAL
https://en.wikipedia.org/wiki/Hypertext_Application_Language

Documentation best practices
http://bocoup.com/weblog/documenting-your-api/

Partial updates:
http://stackoverflow.com/questions/232041/how-to-submit-restful-partial-updates
http://restful-api-design.readthedocs.org/en/latest/methods.html

Misc
http://www.wekeroad.com/2012/02/28/someone-save-us-from-rest/
http://docs.couchdb.org/en/latest/api/basics.html#api-basics

Auth
http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/
http://en.wikipedia.org/wiki/OAuth
http://restcookbook.com/Basics/loggingin/
http://broadcast.oreilly.com/2009/12/principles-for-standardized-rest-authentication.html
http://stackoverflow.com/questions/630538/designing-a-web-api-how-to-authenticate
http://en.wikipedia.org/wiki/Session_hijacking#Methods
http://apiux.com/2013/03/21/authentication-dont-be-clever/
https://developer.github.com/v3/auth/
https://github.com/blog/1509-personal-api-tokens
http://stackoverflow.com/questions/7999295/rest-api-authentication
https://www.google.com/search?client=ubuntu&channel=fs&q=api+authentication&ie=utf-8&oe=utf-8

Productivity and Note-taking

I told a friend of mine that I wasn't really happy with the amount of time that gets taken up by Slack and "communication and sched...