Is www.example.com/post/21/edit a RESTful URI? I think I know the answer, but have another question.

Posted by tmadsen on Stack Overflow See other posts from Stack Overflow or by tmadsen
Published on 2010-05-01T14:43:37Z Indexed on 2010/05/01 14:47 UTC
Read the original article Hit count: 248

Filed under:
|
|
|

I'm almost afraid to post this question, there has to be an obvious answer I've overlooked, but here I go:

Context: I am creating a blog for educational purposes (want to learn python and web.py). I've decided that my blog have posts, so I've created a Post class. I've also decided that posts can be created, read, updated, or deleted (so CRUD). So in my Post class, I've created methods that respond to POST, GET, PUT, and DELETE HTTP methods). So far so good.

The current problem I'm having is a conceptual one, I know that sending a PUT HTTP message (with an edited Post) to, e.g., /post/52 should update post with id 52 with the body contents of the HTTP message.

What I do not know is how to conceptually correctly serve the (HTML) edit page.

Will doing it like this: /post/52/edit violate the idea of URI, as 'edit' is not a resource, but an action?

On the other side though, could it be considered a resource since all that URI will respond to is a GET method, that will only return an HTML page?

So my ultimate question is this: How do I serve an HTML page intended for user editing in a RESTful manner?

© Stack Overflow or respective owner

Related posts about python

Related posts about web.py