极客视点
极客时间编辑部
极客时间编辑部
113242 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/02:21
登录|注册

请不要再管它们叫REST API了

讲述:初明明大小:2.16M时长:02:21
近日,软件开发人员安德里亚·基亚雷利(Andrea Chiarelli)发表观点称业内很多人都误解了 REST API 是什么,并解释了 REST API 的正确概念。以下为原文的编译内容,希望对你有所帮助。
2000 年初,道格拉斯·克罗克福德(Douglas Crockford,被称为 JavaScript 教父)宣称 JavaScript 是世界上被误解得最深的一门编程语言,造成误解的主要原因是其糟糕的命名方式、设计上的错误和不严格的标准,等等。
事实上,人们对 REST API 的误解也非常深。大多数人认为基于 URL 和 HTTP 动词设计的 API 就是 REST API,这种想法实在是错得离谱。
其实在 REST 指南中,它的概念已经说得很清楚了,REST 这个名词强调了状态转换(State Transfer),只是大多数所谓的 REST API 设计者却忽略了这一点。
如果你问一下身边的程序员,他们设计的 API 是否支持 HATEOAS,他们十有八九会一脸懵地看着你。然而,仔细想想 REST 的概念,就能知道它并没有说要使用哪一种协议,也没有说使用哪一种方式来标识资源,它只说到表示性状态转移(REpresentational State Transfer)。状态转移管理是 REST API 的一个必要条件。
真正的 REST API 应该为客户端提供状态以及在状态之间进行切换的方式,它提供了资源的表示(不一定是 JSON 格式)和指向相关资源的链接(超链接),这些链接可以让应用程序从一个状态切换到另一个状态。
需要特别提到的是,是否使用 HTTP 协议并不重要。REST 的关键之处在于让服务器端来负责客户端的状态转移,客户端的状态几乎是由服务器端来驱动的,所以,讨论 API 版本管理并没有多大意义。客户端只要知道 REST API 的入口点就可以了,剩下的根据服务器端的响应来做决定,但这一点却被大多数人忽略了。
另外,只是简单地将 CRUD 操作映射到 HTTP 动词的 API,与应用程序状态转移丝毫扯不上关系,你可以把它们叫作 Web API 或 HTTP API,但请不要把它们叫作 REST API。
以上就是基亚雷利的观点,你认同吗?欢迎在评论区留下你的看法。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • Jie
    教条了,restfull只是设计风格,可以允许实践时不同成熟度,从低成熟度的http method到高成熟度的hateoas。
    5
  • kiwi
    太笼统了,说了restful的误解,却没说明白什么是对的restful
  • 上沅同学
    不是完全认同
  • 曲江庐客
    其实RESTAPI的定义是什么不重要,大家都以为RESTAPI是什么,大家都以这样的方式提供服务也都以这样的方式使用服务,才是最重要
收起评论
显示
设置
留言
4
收藏
55
沉浸
阅读
分享
手机端
快捷键
回顶部