用于创建和编辑表单的REST URL

在SO中有相当不错的线程。

这是一个糟糕的REST网址吗? 了解REST:动词,错误代码和认证

我在这里也看到了一个很好的资源。

问题是如何表示创建和编辑表单URL。 这样的链接并没有明确说明,但微格式链接暗示

GET /people/new  

返回创建新记录的表单

GET /people/1/edit

返回一个表单来编辑第一条记录

在URL中使用动词时,不要过于虔诚,不知道是否有更好的选择来表示相同的内容。


之所以没有就URL的结构达成共识,是因为当开发人员开始了解REST时,他们知道该结构与客户端无关,而且仅仅是美学和服务器框架实现的功能。

然而,有一个标准化的方法来实现你正在努力实现的目标。

GET /people/1
Content-Type: application/vnd.hal+xml
=>
<resource rel="self" href="/people/1">
  <link rel="edit" href="/people/1/editform"/>
  <link rel="urn://vnd.acme.rels/create" href="/people/createform"/>
  <name>Joe Foo</name>
</resource>

通过在响应中嵌入链接,客户端可以发现执行所需操作所需的URI。 但是,为了发现URI,客户端需要事先知道正在使用的链接关系(“rel”)。 在这种情况下,我们使用了“编辑”,因为它具有IANA链接注册表中描述的明确定义的行为。 据我所知,访问创建表单的另一个链接没有标准名称,所以我冒昧地创建了一个唯一命名的链接关系。

作为一个方面说明,我碰巧使用媒体类型应用程序/ hal + xml,因为它是一种灵活的超媒体格式,但是很容易理解,而不需要阅读太多的文档。


最近发布了一个信息性RFC,用于促进链接关系“创建表单”和“编辑表单”。 更多信息可以在http://tools.ietf.org/html/rfc6861找到。

链接地址: http://www.djcxy.com/p/45349.html

上一篇: REST url for create and edit forms

下一篇: What to do when you need more verbs in REST