【发布时间】:2010-05-01 14:43:37
【问题描述】:
我几乎不敢发布这个问题,必须有一个我忽略的明显答案,但我开始了:
上下文:我正在创建一个用于教育目的的博客(想学习 python 和 web.py)。我决定我的博客有帖子,所以我创建了一个 Post 类。我还决定可以创建、阅读、更新或删除帖子(所以 CRUD)。所以在我的 Post 类中,我创建了响应 POST、GET、PUT 和 DELETE HTTP 方法的方法)。到目前为止,一切都很好。
我目前遇到的问题是一个概念性问题,我知道将 PUT HTTP 消息(带有已编辑的帖子)发送到 /post/52 应该使用 HTTP 的正文内容更新 ID 为 52 的帖子信息。
我不知道的是如何在概念上正确地提供 (HTML) 编辑页面。
会不会像这样:/post/52/edit 违反 URI 的概念,因为“编辑”不是资源,而是动作?
但另一方面,它是否可以被视为资源,因为所有 URI 将响应一个 GET 方法,它只会返回一个 HTML 页面?
所以我的最终问题是:如何以 RESTful 方式提供一个供用户编辑的 HTML 页面?
【问题讨论】:
-
我建议不要在方法之后命名资源 - 发布到帖子会让人感到困惑。
-
@Ink-Jet:感谢您的意见。这可能令人困惑,但不应该如此。我认为将“帖子”视为资源是完全合理的。如果我没记错的话,根据 RFC2616 中的措辞,发布到“Post”将创建一个新的“Post”下属。