以下是一个示例网址:
/users/123/comments
根据此网址,哪个字词最能描述users
? users
是资源还是资源的一部分。那部分的名称是什么?
同样的问题适用于其他部分。哪个字词最能说明123
和comments
?
是否有一个术语可以引用RESTful URL的第二部分?它会在123
中描述/users/123
,在purchases
中描述/me/purchases
。
答案 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网址。这个术语是框架设计师的捏造,只会让你迷惑。