【发布时间】:2018-12-07 18:08:01
【问题描述】:
我正在编写一个 REST API。但是,要求之一是允许调用者确定是否可以执行某个操作(例如,可以启用或禁用按钮等) 可能由于多种原因不允许执行该操作 - 可能是用户权限,但也可能是因为,例如,您无法删除共享对象,或者您无法创建与另一个项目同名的项目或其他项目的数组商业规则。 确定是否某些东西可以删除的所有逻辑都应该在后端确定,但前端必须在 GUI 中显示。
我正在尝试在 REST 中找到用于此目的的正确模式,但结果有点短。我可以创建一个并行 API,因此对于每个实体端点都有一个 EntityPermissions 端点,但这似乎有点过头了。我还可以做一些事情,比如添加一个 HTTP 标头,表明该请求只是检查权限,而不是执行它,但这似乎有点可疑,并且可能会弄乱 http 缓存。
谁能指出我做这种事情的常见模式?它有名字吗?还是讨论它的网页?我相信每个人对此都有自己的想法(就像我的愚蠢想法一样),但我认为这似乎是一个足够普遍的要求,我认为它必须有一个共同的模式。但谷歌并没有多大帮助。
【问题讨论】: