Baran

6 posts

Baran banner
Baran

Baran

@baranwang

가입일 Aralık 2014
73 팔로잉4 팔로워
可乐🥤
可乐🥤@kele_plus·
opencode 的图标怎么是……一个豆包?
可乐🥤 tweet media
中文
50
1
138
32.6K
Lynx
Lynx@LynxJS_org·
A sneak peak of our initial A2UI support 👇
English
3
6
74
13.3K
Baran
Baran@baranwang·
@Blankwonder 有些需要协商缓存的场景还是离不开 GET
中文
0
0
0
1.1K
Yachen Liu
Yachen Liu@Blankwonder·
我记得若干年前就发表过类似观点,评论里还是有很多人询问,再总结下: RESTful 的设计模式,是一种适用于简单、对象明确的需求下的设计范式。强行在各种项目中套用 RESTful 设计 API,带来的问题远高于收益,是新时代的八股文与教条主义。 本身 HTTP 方法就不是为复杂需求设计的,非要将复杂的逻辑抽象为那么几个 HTTP 方法,将一切抽象为资源对象,根本没有必要。 具体到 GET 方法,RESTful 提出了几个优点: 1. 缓存友好:然而现在的复杂系统,几乎不可能在外部依赖 HTTP 层的缓存系统对 API 调用继续缓存。 2. 幂等:事实上,各种复杂业务下,查询操作也会难以避免的产生状态,比方说刷了下 timeline,那么用户的上次活跃时间也就会被更新,严格幂等既不现实也没必要。 然而,GET/DELETE 等幂等方法存在着一个巨大的缺点,即按照 RFC 标准无法携带 request body。这使得当传入的参数复杂时,构造 query 会变得相当麻烦而且容易出现各种问题,query 的最大长度也只有 2K。改为 POST 方法传入 JSON/protobuf 等数据结构轻松太多。
Yachen Liu@Blankwonder

重做 API 设计时把所有 GET 方法都干掉了,别再被八股文毒害了。

中文
41
31
270
126.8K