一个 GET API URL 设计的有趣问题

130 天前
 teli
该 GET URL 用来获取某资源
URL 内含资源标识

现要修改设计:
如果是本人创建的资源,可以获取到全部信息
如果不是本人创建的资源,可以获取到概要信息

要求:
1. 中间有道网关,以 URL 为缓存 KEY ,(因为简化了设计)不考虑 HTTP 头中的缓存控制信息 。因此相同的 URL 应该返回相同的内容
2. 不考虑把一个请求,拆分为两个。比如:先请求资源的创建者是谁,再请求资源信息
3. 开始时,客户端不知道当前用户 是不是资源的创建者
4. URL 中不能带用户标识,不然网关的缓存形同虚设


那么,这个 API URL 应该怎么设计?
1423 次点击
所在节点    API
7 条回复
coolfan
130 天前
怎么鉴权
rrfeng
130 天前
请问拉屎别用肛门,怎么设计?
Vegetable
130 天前
1. “因此相同的 URL 应该返回相同的内容”
2. “URL 中不能带用户标识”

当然可以涉及一个/fruits/{id}/[detail],但是鉴权谁做?
yinmin
129 天前
去掉( 1 )缓存改 redis ,在应用逻辑里实现缓存。
在 http header 里加 user token 做鉴权。
ninjashixuan
129 天前
不觉得要求 1 和需求自相矛盾了么。
teli
129 天前
@ninjashixuan 也许 这就不应该一个 API ,而是两个
fengemma9
69 天前
我 感觉 user 鉴权来区分该给什么信息就可以实现

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1075825

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX