我有一个很明显的问题要回答:
上下文:我正在创建一个用于教育目的的博客(想学习python和网页.py). 我决定我的博客有帖子,所以我创建了一个帖子类。我还决定可以创建、读取、更新或删除帖子(所以是CRUD)。所以在我的Post类中,我创建了响应Post、GET、PUT和DELETE HTTP方法的方法)。到现在为止,一直都还不错。在
目前我遇到的问题是一个概念性的问题,我知道发送一个PUT-HTTP消息(带有一个编辑过的Post)到,例如/Post/52应该用HTTP消息的主体内容更新id为52的Post。在
我不知道如何从概念上正确地为(HTML)编辑页面提供服务。在
像这样做:/post/52/edit是否会违反URI的思想,因为“edit”不是一个资源,而是一个操作?在
但是在另一方面,它是否可以被视为一个资源,因为URI只响应一个GET方法,它只返回一个HTML页面?在
所以我的终极问题是:如何以RESTful的方式为用户编辑提供HTML页面?在
另一种RESTful方法是对修饰符使用查询字符串:
/post/52?edit=1
另外,不要太在意REST模型的纯洁性。如果你的应用程序不能很好地融入模型,那就打破规则。在
与其叫它
/post/52/edit
,不如叫它/post/52/editor
?在现在它是一种资源。避免了进退两难的局面。在
没有restfuluri这样的东西。这是一个错误的概念,因为uri应该对客户端完全不透明。在
如果它通过避免URI中的动词来帮助您正确地实现HTTP统一接口,那么这很好,但是不要被URI的外观所限制。将资源建模视为数据建模的一种类型是非常有限的。RESTful系统通常需要做的不仅仅是CRUD操作,所以您需要对系统中可用的资源有创造性。在
如果您创建一个URL并取消对它的引用,则返回一个200状态代码,则该URL引用一个资源。如果您创建另一个URL,它也返回一个200,那么这是一个不同的资源。在
这意味着:
是4种不同的资源
^{pr2}$也是不同的资源。在
所以如果你回答你的问题
^{3}$它返回一个200状态码和一个表示,那么它必须是一个资源。在
相关问题 更多 >
编程相关推荐