假设我们想要一个RESTful Web服务来管理一些逻辑上嵌套的资源,其中资源“B”的每个实例在逻辑上都由资源“A”的实例包含。 作为系统管理员工作的第一个例子是电子邮件帐户及其域名:alice@domain1.com bob@domain1.com alice@domain2.com ...
您建议使用哪种网址方案?起初我会尝试:
/domain/[domainname]
/domain/[domainname]/account/[accountname]
符合RESTful原则吗?或者我应该使用类似的东西:
/domain/[domainname]
/account/[account@domainname]/
或其他什么?
答案 0 :(得分:3)
问题是“导航”和“独立”之一。
帐户是否具有在之外的特定域名的含义?一般情况下它没有。因此,该帐户实际上没有单独的顶级路径。
但是,在URI的中间使用带有标签的/domain/[domainname]/account/[accountname]
看起来也不是很好。 “域名”和“帐户”这两个词并不是非常有用。
你对这样的事情感到高兴:
/domain/[domainname]/ -- general information about the domain
/account/[domainname]/[account]/ -- a specific account within the domain.
路径的顶部是数据类型的分类器。
路径的其余部分是导航到该数据的方式。