使用';我';REST请求中的字

使用';我';REST请求中的字,rest,Rest,我在许多不同的RESTAPI文档中看到了me类似单词的用法。它使这种路线看起来非常优雅: GET /users/{id} -> Get public data from user {id} GET /users/me -> Get my data if I'm connected 但它真的是“REST有效”吗?它尊重REST约定吗?实际上没有“有效REST”或“标准REST”。REST与使用HTTP并没有正式的联系 这是设计API的合理方法吗?我可以这么说。它是否违反了

我在许多不同的RESTAPI文档中看到了
me
类似单词的用法。它使这种路线看起来非常优雅:

GET  /users/{id}  -> Get public data from user {id}
GET  /users/me    -> Get my data if I'm connected

但它真的是“REST有效”吗?它尊重REST约定吗?

实际上没有“有效REST”或“标准REST”。REST与使用HTTP并没有正式的联系

这是设计API的合理方法吗?我可以这么说。它是否违反了约定/常识/HTTP最佳实践?我不这么认为


设计URL结构的方式完全取决于您。通常只有框架执行更严格的约定,但这并不意味着您的方法是错误的。

作为
/users/me
的上下文绑定URI的缺点是它们不可共享。因此,我想说,为了方便起见,可以使用一个URI,但只需补充相应的唯一URI,如
/users/{id}

“valid”是什么意思?是什么让您认为这是无效的?“用户”在这里是一个资源,“我”是一个资源标识符,尽管是在登录用户的上下文中。所以,我觉得不错。很难说这是否有效,因为REST只是一套指南,可以有不同的解释。@NicoHaase我对术语“有效”感到抱歉。我的意思是它尊重其他公约吗?例如,REST约定之一是使用复数,因此
/user
路由在
/users
do@narendra-choudhary所以使用这种“奇特”的资源标识符没有问题吗?在您的示例中没有
/user
路由,在Imgur上也没有
/user
路由。毕竟,API设计者可以选择使用复数或单数名词eah,这很正常,因为我们不想分享这个
/users/me
将仅由拥有令牌并希望访问其数据的用户调用。如何在不使用JWS等技术的情况下获取用户id?只有
/users/{id}
需要将当前用户的
id
存储在本地某处。