描述RESTful URL

时间:2013-05-21 11:39:39

标签: http rest url terminology restful-url

以下是一个示例网址:

/users/123/comments

根据此网址,哪个字词最能描述usersusers是资源还是资源的一部分。那部分的名称是什么?

同样的问题适用于其他部分。哪个字词最能说明123comments

是否有一个术语可以引用RESTful URL的第二部分?它会在123中描述/users/123,在purchases中描述/me/purchases

2 个答案:

答案 0 :(得分:0)

REST是面向资源的。网址代表资源。

在您的示例中,/users/123/comments

  • users是一种资源。
  • 123是用户的唯一标识符。
  • 在这种情况下,评论是用户的子资源,但它们可能是自己的资源(例如调用/comments/{id}

关于第二个问题,/me/purchases的格式与/users/123不同。 /me/purchases可能是/users/{myid}/purchases之类的短网址,其中purchases是用户的子资源(也可能是自己的资源,可由{{1}获取}})


有关与您的问题没有直接关系的更多信息,here is a video,但这是非常好的,并且对REST Web服务非常有趣。

答案 1 :(得分:0)

在您的示例中,http://example.org/users/123/comments指向资源。完整的URI是资源的标识符。

让我举个极端的例子,

/users/123/comments.xml

/users/123/comments.json

是两种不同的资源。

查询字符串还标识资源,因此

/users/123/comments?format=xml

/users/123/comments?format=json

也是两种不同的资源。

资源不会映射到实体。资源是您希望通过HTTP公开并使用URI标识的“某些概念”。

在RESTful系统中,URI对系统设计是不透明的。系统的客户端不应尝试从URI的部分推断出含义。服务器可以设置约定来帮助它构建URI空间,但这些是服务器的私有实现细节。

没有RESTFul网址。这个术语是框架设计师的捏造,只会让你迷惑。