什么是最佳/常见的RESTful网址动词和动作?
我试图找到最好和最常见的RESTful url操作的一些信息。
例如,您使用什么网址来显示项目的详细信息,用于编辑项目,更新等。
/question/show/<whatever>
/question/edit/<whatever>
/question/update/<whatever> (this is the post back url)
/question/list (lists the questions)
哼。 感谢任何人帮助:)
使用URL来指定您的对象,而不是您的操作:
请注意您首先提到的不是RESTful:
/questions/show/<whatever>
相反,你应该使用你的URL来指定你的对象:
/questions/<question>
然后您对该资源执行以下操作之一。
得到:
用于获取资源,查询资源列表以及查询资源的只读信息。
获取问题资源:
GET /questions/<question> HTTP/1.1
Host: whateverblahblah.com
列出所有问题资源:
GET /questions HTTP/1.1
Host: whateverblahblah.com
POST:
用于创建资源。
请注意,以下是一个错误:
POST /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
如果URL尚未创建,则在指定名称时不应使用POST创建它。 这应该会导致资源未找到错误,因为尚不存在。 您应该首先将服务器上的资源放入。 您可以争辩说,通过创建一个新问题,您还正在更新/ questions资源,因为它现在会在其问题列表中返回一个问题。
你应该这样做,使用POST创建一个资源:
POST /questions HTTP/1.1
Host: whateverblahblah.com
请注意,在这种情况下,资源名称未指定,新对象URL路径将返回给您。
删除:
用于删除资源。
DELETE /questions/<question> HTTP/1.1
Host: whateverblahblah.com
放:
用于创建资源或覆盖资源,同时指定资源URL。
对于新资源:
PUT /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
要覆盖现有资源:
PUT /questions/<existing_question> HTTP/1.1
Host: whateverblahblah.com
...是的,他们是一样的。 PUT经常被描述为'编辑'方法,就像用一个稍微改变的版本来替换整个资源一样,你已经编辑了下一次客户端会得到的东西。
在HTML表单中使用REST:
HTML5规范为表单元素定义了GET和POST。
方法内容属性是具有以下关键字和状态的枚举属性:
从技术上讲,HTTP规范并不仅限于这些方法。 你在技术上可以自由地添加你想要的任何方法,但实际上,这不是一个好主意。 这个想法是,每个人都知道你使用GET来读取数据,所以如果你决定使用READ,它会混淆事项。 那说...
补丁:
这是一种在正式RFC中定义的方法。 它被设计用于当你想发送一个资源的部分修改时,它将被用于很像PUT:
PATCH /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
不同之处在于,PUT必须发送整个资源,无论它与实际更改的内容相比多大,而PATCH只能发送更改。
假设/questions/10
是一个有效的问题,那么该方法用于与它进行交互。
POST添加到它
PUT来创建或替换它
GET查看/查询它
并删除以及..删除它。
该网址不会更改。
我打算冒昧地猜测,当你说“RESTful”url时,你的意思是什么是MVC的标准控制器,因为你的例子可能被认为不是“RESTful”(见本文)。
由于Rails真正推广了您感兴趣的URL风格,因此我在Ruby on Rails中的ScaffoldingGenerator生成的默认控制器操作下方提供。 任何使用Rails应用程序的人都应该熟悉这些。
脚手架的行为和观点是:索引,列表,显示,新建,创建,编辑,更新,销毁
通常你会这样构造:
http://application.com/controller/<action>/<id>
链接地址: http://www.djcxy.com/p/1073.html
上一篇: What are the best/common RESTful url verbs and actions?