HTTP Methods for RESTful Web Services
Correct Representation of a RESTful Architecture:
/api/users when called with GET, lists users/api/users when called with POST, creates user record/api/users/1 when called with GET, shows user record when called with PUT, updates user record when called with DELETE, deletes user record
That is a correct representation of a RESTful architecture. You may find the following matrix from Wikipedia very helpful in defining your nouns and verbs:
When dealing with a Collection URI like: http://example.com/resources/
- GET: List the members of the collection, complete with their member URIs for further navigation. For example, list all the cars for sale.
- PUT: Meaning defined as “replace the entire collection with another collection”.
- POST: Create a new entry in the collection where the ID is assigned automatically by the collection. The ID created is usually included as part of the data returned by this operation.
- DELETE: Meaning defined as “delete the entire collection”.
When dealing with a Member URI like: http://example.com/resources/7HOU57Y
- GET: Retrieve a representation of the addressed member of the collection expressed in an appropriate MIME type.
- PUT: Update the addressed member of the collection or create it with the specified ID.
- POST: Treats the addressed member as a collection in its own right and creates a new subordinate of it.
- DELETE: Delete the addressed member of the collection.