Hands-on restful api design patterns and best practices.