【发布时间】:2013-07-08 23:32:48
【问题描述】:
我有一个类似这样的简单资源:
/api/{configuration}/exhibitors/{id}
这通常是一个公共 API,具体取决于 URL 配置部分的设置。
它可能会将此返回给未经过身份验证的用户:
{ "a" : "some value", "b" : "other value" }
但如果管理员已登录并想要获取此资源,他们会期望同一资源上的数据略有不同:
{ "a" : "some value", "C" : "admin only value" }
我是否应该检测此管理员权限并仅从同一 URL 返回不同的内容?
或者我应该有一个新的 URL 来标识它是为谁服务的并且内容可能不同?
/api/admin/{configuration}/exhibitors/{id}
我的想法是我不喜欢额外的 URL,但如果我不根据用户更改内容,我将更容易缓存公共内容。
没有理由管理员调用无法获取资源的完整公共版本以及额外的仅限管理员字段,但在我的示例中它们实际上可能不需要字段“b”,所以我宁愿管理员表示稍微轻松一些。
【问题讨论】:
标签: rest