【发布时间】:2020-10-19 12:05:25
【问题描述】:
我有一个由 RESTFul API 支持的应用程序。该应用程序具有用户管理部分,管理员用户可以通过该部分管理其他用户。以下是 API 操作端点之一的示例 URI。
更新用户:POST https://example.com/api/users/user1
这里 user1 是管理员正在编辑的用户的用户名。
安全方面的建议是从 URI 中删除用户名,因为它是敏感信息,并且由于它是 url 的一部分,它将被记录在网络日志中。建议的解决方案是在 POST 请求正文中传递用户名数据。
将数据移动到请求正文是可以的。但是,如果我从 URI 中删除用户名,则 URI 将类似于 "**POST https://example.com/api/users**" 。这显然不像是有效的 REST URI。而且我的 USER 实体没有任何其他可以使用的唯一属性在 URI 中。
在这种情况下,有什么推荐的方法来形成正确的 REST URI 吗?
【问题讨论】: