我正在尝试找到有关最佳和最常见的RESTful网址操作的一些信息.
例如,您使用什么URL来显示项目的详细信息,编辑项目,更新等.
/question/show//question/edit/ /question/update/ (this is the post back url) /question/list (lists the questions)
哼.感谢任何人的帮助:)
使用网址指定您的对象,而不是您的操作:
请注意您首先提到的不是RESTful:
/questions/show/
相反,您应该使用您的URL来指定您的对象:
/questions/
然后,您在该资源上执行以下操作之一.
得到:
用于获取资源,查询资源列表以及查询资源的只读信息.
要获取问题资源:
GET /questions/HTTP/1.1 Host: whateverblahblah.com
列出所有问题资源:
GET /questions HTTP/1.1 Host: whateverblahblah.com
POST:
用于创建资源.
请注意以下是一个错误:
POST /questions/HTTP/1.1 Host: whateverblahblah.com
如果尚未创建URL,则在指定名称时不应使用POST来创建URL.这应该导致资源找不到错误,因为还不存在.您应该首先在服务器上放置资源.您可以争辩说,通过创建一个新问题,您还可以更新/ questions资源,因为它现在会在其问题列表中再返回一个问题.
你应该做这样的事情来使用POST创建资源:
POST /questions HTTP/1.1 Host: whateverblahblah.com
请注意,在这种情况下,未指定资源名称,将返回新对象URL路径.
删除:
用于删除资源.
DELETE /questions/HTTP/1.1 Host: whateverblahblah.com
放:
用于在指定资源URL时创建资源或覆盖它.
对于新资源:
PUT /questions/HTTP/1.1 Host: whateverblahblah.com
要覆盖现有资源:
PUT /questions/HTTP/1.1 Host: whateverblahblah.com
......是的,他们是一样的.PUT通常被描述为"编辑"方法,因为通过用稍微改变的版本替换整个资源,您已经编辑了客户端下次执行时将获取的内容.
在HTML表单中使用REST:
的HTML5规范定义GET和POST form元素.
方法内容属性是枚举属性,具有以下关键字和状态:
关键字GET,映射到状态GET,表示HTTP GET方法.
关键字POST,映射到状态POST,表示HTTP POST方法.
从技术上讲,HTTP规范并不仅限于那些方法.您在技术上可以自由添加任何您想要的方法,但在实践中,这不是一个好主意.我们的想法是每个人都知道你使用GET来读取数据,所以如果你决定使用READ,它会让人感到困惑.那说......
补丁:
这是在正式RFC中定义的方法.它被设计用于当您希望仅对资源发送部分修改时,它将像PUT一样使用:
PATCH /questions/HTTP/1.1 Host: whateverblahblah.com
就是把差异有发送整个资源,不管它有多大相比,有什么实际改变,而PATCH你可以给刚刚更改.
假设/questions/10
是一个有效的问题,那么该方法用于与之交互.
POST添加到它
PUT创建或替换它
GET查看/查询它
并删除它...删除它.
网址不会改变.