专栏名称: 架构师之路
架构师之路,坚持撰写接地气的架构文章
目录
相关文章推荐
美团技术团队  ·  KDD 2024 ... ·  1 月前  
美团技术团队  ·  CIKM 2024 | 美团技术团队精选论文解读 ·  5 天前  
美团技术团队  ·  美团机器人研究院|2024年科研课题申报指南 ·  2 周前  
架构师之路  ·  接下来,准备干一件大事... ·  1 周前  
51好读  ›  专栏  ›  架构师之路

80后聊架构:API端点,REST,URI... 这些概念与规范都不重要了吗? | 架构师之路

架构师之路  · 公众号  · 架构  · 2024-11-05 17:03

正文

《架构师之路:架构设计中的100个知识点
5.API端点,REST实践,URI规范...

昨天晚上,刚发布完“架构设计中100个知识点的第5集:API端点,REST实践,URI规范...:
没想到,短短2分钟的视频,不到半天时间,几千的浏览,居然200+评论喷我...

【1】自我反思:我的情绪出问题了吗?

我不屑一顾了吗?似乎没有。
我嘲讽候选人了吗?似乎没有。
我自我炫耀了吗?没有也没有。

如果硬要说情绪,我想更多的是惊讶

惊讶什么?

惊讶一:
我以为做Web开发,看过一些源码注释,或者查过一些资料,或多或少应该知道API endpoint,人不知道,确实有些出乎我的意料。
画外音:当然,不排除有些童鞋从来没查阅过英文资料。

事后我还询问了自己团队的FE和Java的童鞋,他们也都表示,这个概念很基础。

惊讶二:
候选人知道REST,但不知道表现层和状态转移。
难道REST不是 Representational State Transfer (表现层状态转移)的缩写吗

惊讶三:
候选人知道URI,但不知道URI设计的一些基础规范。例如:斜杠的问题,短横线与下划线的问题,大小写的问题。

咱们后端,不需要向前端提供接口吗?
接口是:http://api.com/shapes/
还是:http://api.com/shapes

是:http://api.com/blogs/my_first_post
还是:http://api.com/blogs/my-first-post

是:http://api.com/My-Folder/My-Doc 
还是:http://api.com/my-folder/my-doc 
真的没有关系吗?

惊讶四:
候选人对我的几个反问:
“不知道API端点,影响什么?”
“不知道URI规范,影响什么?”
“我全都使用POST,影响什么?”
...
他理直气壮地认为自己是对的,更让我倍感惊讶。
画外音:评论留言里对“影响什么”的支持,也让我惊讶。

【2】自我反思:内容出问了吗?
URI的结尾加上反斜杠(/),可能导致误解,导致性能问题,没毛病呀。

我会在图文里,把“API端点,REST,URI”这些短视频里埋的坑填上,也没毛病呀。

【3】自我反思:态度出问了吗?
我觉得短视频里自己表达的态度还是挺清晰的:
1. 掌握这些基础规范有必要
2. 我们自己尊重技术,别人才可能尊重我们
3. 环境对我们很不友好,我们要抱团取暖,一起加油

似乎,我的态度也很友善呀。

情绪,内容,态度似乎都没啥问题,那为啥大家在评论区出奇团结的喷我呢?
说得最多的是这种:
孔乙己,炫耀茴字有几种写法...
只会背八股文,搞概念,估计没写过代码...
...

其次是这种:
7年Java,日交易4个亿,也不知道这些,影响什么?
开发20年,自研web框架,20万tps,也不知道这些,影响什么?
...

然后是这种:
面试造火箭,上班打螺丝...
懂这些,就不用996了吗,就不会被裁了吗...
...

最后还有一类:
只知道满嘴炫英文...
都有AI了,为啥还要知道这些...
有必要遵循国外的标准和规范吗...
...
我简直哭笑不得。

想了半天也不理解,到底触动了大伙哪根神经,自己到底错在了哪里?

好了,不展开了,回归技术,挖的坑要填。API端点,REST实践,URI规范相关补充阅读材料如下

【1】API endpoint
怕有些同学访问不了,找了一个相对权威且不用搭TZ的链接:
https://www.ibm.com/topics/api-endpoint
不复杂,较为基础,也不是一个新概念。

知道的,可以直接略过。
不知道的,不了解也没关系,不会影响搬砖。
花5分钟了解下,可能不能涨薪。
决定权,在大家自己。

【2】REST实践
REST,核心要素,面向资源的架构的概念,一张图就能说清楚。REST之父提出的HATEOAS架构,可参考:
REST之父,搞了一个HATEOAS架构?

【3】URI规范
URI规范,RFC3986,链接给到大家:
https://www.rfc-editor.org/rfc/rfc3986
比较枯燥,估计大家读不进去。

短视频中提到的3个具体问题:
极客匠心同学说的是对的:
1. URI不带反斜线;
2. 建议全小写;
3. 建议短横线;
画外音:当然,大家可以不遵守,毕竟,又影响什么了呢?

另外,我之前写过一篇:
如何设计,容易挨揍的URI?
用戏谑的口吻,聊URI设计中的一些简要规范,亦可参考。

==全文完==

虽然喷我的人很多,但从200+条评论中,我还是有一些收获和启示的:

有童鞋说,大家刷短视频是要消磨时间,发泄情绪,满足的是大家的情绪价值,不适合讲技术。

也有童鞋说,看了评论区的大量留言,更容易理解,为什么程序员会有35+危机。决定一个技术人职业发展的,从来不是专业知识,而是认知水平。

一方面:干货内容我会更多放在公号图文,短视频氛围不太友好
另一方面:除了专业内容,也尝试输出一些职场心态,职场认知的内容,说不定这些更能帮助到大家。

100个架构知识点,还是会继续讲下去。感谢大家的支持,希望大家能有收获。

寒冬,咱们抱团取暖,一起加油!
共勉!