[英]REST API Filters for 'self'
我有许多最终用户和管理人员都可以双重使用的API。 我将使用首选项并给出两个示例:
显然,这导致了重复。 当然,对于最终用户和管理员,我只能使用'/ users / {user} / preferences',但是最后我遇到了其他问题:
1)此人需要在每次通话中输入用户ID,这很麻烦。
2)现在,安全性将成为一个问题,因为后端需要确保正确处理每个请求,即,恶意人员无法输入他人的ID并检索其首选项。
在这里遵循的最佳模式是什么?
一种选择是使/user/preferences
为管理员调用采用可选的?userid=
参数。 然后,您可以基于admin == true && args[userid]
使用相同的端点和分支。
在不太具体的调用( /user/preferences
)调用更具体的端点( /user/{userid}/preferences
)的情况下,对代理api端点的注释也很好。
都是不错的选择。 很多人将所有admin调用放在/admin/...
并添加一个处理程序以确认呼叫者实际上是admin,然后再路由到常规调用( /admin/users/preferences
>验证is_admin-> /users/preferences?userid=bob
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.