这是一个示例网址:
/users/123/comments
根据此 URL,哪个术语最适合描述users?是users资源还是资源的一部分。那部分的名称是什么?
同样的问题也适用于其他部分。哪些术语最能描述123和comments?
是否有一个术语可以指代 RESTful URL 的第二部分?它将描述123in/users/123和purchasesin /me/purchases。
这是一个示例网址:
/users/123/comments
根据此 URL,哪个术语最适合描述users?是users资源还是资源的一部分。那部分的名称是什么?
同样的问题也适用于其他部分。哪些术语最能描述123和comments?
是否有一个术语可以指代 RESTful URL 的第二部分?它将描述123in/users/123和purchasesin /me/purchases。
REST 是面向资源的。URL 代表资源。
在您的示例中,/users/123/comments:
users是一种资源。123是用户的唯一标识符。/comments/{id})关于您的第二个问题, for 的格式/me/purchases与/users/123. 并且/me/purchases可能是一个简短的 URL,例如用户的子资源/users/{myid}/purchases在哪里(也可能是他们自己的资源,由 提供)。purchases/purchases/{id}
有关更多信息,这里有一个视频,它与您的问题没有直接关系,但它制作得非常好,而且关于 REST Web 服务非常有趣。
在您的示例中,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 url 这样的东西。该术语是框架设计师的虚构,只会让您感到困惑。