Rest Resftul API结构,如果已从会话令牌派生,则路由中是否需要用户ID?

Rest Resftul API结构,如果已从会话令牌派生,则路由中是否需要用户ID?,rest,uri,Rest,Uri,我目前正在计划一个基于REST原则的web API。我使用一个会话令牌来正确标识用户发出的请求(当然是在身份验证之后),然后确定该用户是否有权访问给定的资源 假设提出请求的用户的用户ID为7,并且我只想检索他可以访问的演示文稿的列表,那么最佳/适当的做法是: 1.在路由中包括我的用户ID,例如: localhost:55555/api/users/7/演示文稿 或 2.不包括userID,例如: localhost:55555/api/presentations 每个演示文稿都可以被任意数量的其

我目前正在计划一个基于REST原则的web API。我使用一个会话令牌来正确标识用户发出的请求(当然是在身份验证之后),然后确定该用户是否有权访问给定的资源

假设提出请求的用户的
用户ID
7
,并且我只想检索他可以访问的
演示文稿的列表,那么最佳/适当的做法是:

1.在路由中包括我的
用户ID
,例如:

localhost:55555/api/users/7/演示文稿

2.不包括
userID
,例如:

localhost:55555/api/presentations


每个
演示文稿
都可以被任意数量的其他用户访问。出于这个原因,我倾向于选择2,但在我最终确定结构之前,我想知道其他人的想法。

REST API的一个非常常见的模式是同时具备以下两种功能:

  • 具有可选参数的列表资源,如
    /presentation/?by=Alice&since=2013-1-1
  • 对象资源,如
    /presentation/0AFF56E7

对于演示文稿,我不会使用包含用户ID的复合ID,因为它似乎不是真正需要的,而且它会阻止将来的功能,如更改演示文稿的“所有者”(而不更改其ID)。

将资源ID与身份验证令牌/ID分开是一个好方法。经过深思熟虑和进一步研究,你完全符合我的想法。谢谢