Skip to content

Instantly share code, notes, and snippets.

@shimizukawa
Last active December 14, 2015 21:09
Show Gist options
  • Save shimizukawa/5148857 to your computer and use it in GitHub Desktop.
Save shimizukawa/5148857 to your computer and use it in GitHub Desktop.

CRUD view and RESTful url mapping

Ope METHOD many one
Create POST /dogs --
Read GET /dogs /dogs/{id}
Update PUT -- /dogs/{id}
Delete DELETE /dogs /dogs/{id}

Additional (-> implemented method) information exists.

Ope METHOD many one
Create GET /dogs/new (-> new) --
  POST /dogs (-> create) --
Read GET /dogs (-> index) /dogs/{id} (-> show)
Update GET -- /dogs/{id};edit (-> edit)
  POST -- /dogs/{id} (-> update)
Delete DELETE   /dogs/{id} (-> delete)

Additional (-> implemented method) information exists.

Ope METHOD many one
Create GET /dogs/new (-> new: form view) --
  POST /dogs/new (-> new: form post) --
  POST /dogs (-> collection_post) --
Read GET /dogs (-> collection_get) /dogs/{id} (-> get)
Update GET -- /dogs/{id}/edit (-> edit: form view)
  POST -- /dogs/{id}/edit (-> edit: form post)
  PUT /dogs (-> collection_put: bulk-update) /dogs/{id} (-> put)
Delete DELETE /dogs/delete (-> collection_delete) /dogs/{id}/delete (-> delete)

flatten

CRUD Path HTTP Veb method API status Form status description
C /dogs/new GET new x 200 resource create form
C /dogs/new POST new x 302 -> /dogs/{id} form post action
C /dogs POST collection_post 200 (201 is better?) x api create action
R /dogs GET collection_get 200 200 get resources
R /dogs/{id} GET get 200 200 get one resource
U /dogs/{id}/edit GET edit x 200 update form view
U /dogs/{id}/edit POST edit x 302 -> /dogs/{id} update form post
U /dogs PUT collection_put 200 x bulk-update resources
U /dogs/{id} PUT put 200 x update one resource
D /dogs/delete DELETE collection_delete 200 x delete all resources
D /dogs/{id}/delete DELETE delete 200 x delete one resource
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment