对于RESTful应用程序中的“嵌套”资源,哪种URL方案更好?

时间:2010-03-23 15:53:54

标签: rest url-routing

假设我们想要一个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]/

或其他什么?

1 个答案:

答案 0 :(得分:3)

问题是“导航”和“独立”之一。

帐户是否具有之外的特定域名的含义?一般情况下它没有。因此,该帐户实际上没有单独的顶级路径。

但是,在URI的中间使用带有标签的/domain/[domainname]/account/[accountname]看起来也不是很好。 “域名”和“帐户”这两个词并不是非常有用。

你对这样的事情感到高兴:

/domain/[domainname]/  -- general information about the domain
/account/[domainname]/[account]/ -- a specific account within the domain.

路径的顶部是数据类型的分类器。

路径的其余部分是导航到该数据的方式。