在SO中的休息网址上有相当不错的主题。
Is this a bad REST URL? Understanding REST: Verbs, error codes, and authentication
我也看到了很好的资源here。
问题是如何表示创建和编辑表单网址。 So链接没有明确说明,但微格式链接建议
GET /people/new
返回用于创建新记录的表单
GET /people/1/edit
返回表单以编辑第一条记录
在网址中使用动词并不太虔诚,不知道是否有更好的选择来代表它。
答案 0 :(得分:15)
你不会对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 Link Registry中描述的明确定义的行为。据我所知,访问创建表单的另一个链接没有标准名称,因此我冒昧地创建了一个唯一命名的链接关系。
作为旁注,我碰巧使用媒体类型应用程序/ hal + xml,因为它是一种灵活的超媒体格式,但很容易理解而无需阅读太多文档。
答案 1 :(得分:8)
最近发布了一个信息性RFC,它促进了链接关系“创建形式”和“编辑形式”。更多信息可以在http://tools.ietf.org/html/rfc6861找到。