Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

ReSTful Exercise

While there are a plethora of ReSTful best practices...

This simple blog app was an academic exercise to implement a mostly-functional, persistent web service following this simple pattern:

Action Endpoint Name HTTP Verb Description
Index /things GET List all things
New /things/new GET Form to make new thing
Create /things POST Add new thing to DB, redirect
Show /things/:id GET Show detail about specific thing
Edit /things/:id/edit GET Show edit form for specific thing
Update /things/:id PUT Update specific thing, redirect
Destroy /things/:id DELETE Delete specific thing, redirect

Unfortunately, using HTTP methods like PUT and DELETE requires hacks like Node.js' method-override, but such trickery is a worthwhile sacrifice to maintain consistent APIs. Seemingly obvious alternatives like resorting to associating methods readily supported in HTML forms with less consistent endpoints should be avoided for the sake of user sanity.