2011-10-17 90 views
3

在支持多个帐户理想的RESTful API,应该每个资源有它在整个系统中唯一的标识符,或者是确定的,如果该标识符是它属于特定帐户独特。RESTful API中每个资源的唯一标识符?

是否有任何专业人员缺点为每个情况?

举个例子。

这将是从REST原则罚款?

http://api.example.com/account/1/users/1 
... 
http://api.example.com/account/50/users/1 

或者会采用这种方法吗?

http://api.example.com/account/1/users/{UNIQUE_IDENTIFIER} 
... 
http://api.example.com/account/50/users/{ANOTHER_UNIQUE_IDENTIFIER} 

回答

2

您可以通过始终具有第一用户为1。有人就知道,任何帐户也将有一个用户1.我不是说你应该只通过隐藏的隐藏的用户ID,但为什么可以很容易泄露的有效用户数让别人在另一个帐户中找到用户ID?

2

所有真正重要的是每个资源都有唯一的标识符。您的两个例子实现这个目标,所以你似乎是好(REST风格而言)

我看不出有任何令人信服的理由使用一个比其他。我会选择一些对您的实施更有意义的东西。

2

由于,从使用REST API的外部系统的角度来看,整个地址应被认为是在“标识符”该资源对象,所以你的第一个例子是细。