您当前的位置:IT头条网要闻正文

请不要再管它们叫RESTAPI了

放大字体  缩小字体 2019-12-23 16:10:34  阅读:7745+ 作者:责任编辑NO。卢泓钢0469

作者 | Andrea Chiarelli

译者 | 无明

策划 | 小智

2000 年头,Douglas Crockford 声称 Javascript 是世界上被误解得最深的一门编程言语。形成误解的底子原因是糟糕的命名方法、规划上的过错和不严厉的规范,等等。所以说,导致这种误解是很天然的。

上一年,我在推特上发了一条有关 REST 架构范式的推文。

大多数人以为依据 URL 和 HTTP 动词规划的 API 便是 REST API,但这样的主意实际上错得离谱。

这个误解存在了很长一段时间。与 Javascript 纷歧样的是,REST 攻略现已说得很清楚了,REST 这个名词强调了状况转化(State Transfer),但大多数所谓的 REST API 规划者却疏忽了这一点。

假如你问一下身边的程序员他们规划的 API 是否支撑 HATEOAS,他们十有八九会瞪大了眼睛看着你,然后说:你到底在说什么?

但是,REST 的姓名自身就说明晰全部。它并没有说要运用哪一种协议,也没有说运用哪一种方法来标识资源,它只说到表明性状况搬运(REpresentational State Transfer)。Roy Fielding 博士说,状况搬运办理是 REST API 的一个必要条件。

真实的 REST API 应该为客户端供给状况以及在状况之间进行切换的方法。它供给了资源的表明(纷歧定是 JSON 格局)和指向相关资源的链接(超链接),这些链接能够让应用程序从一个状况切换到另一个状况。如下例所示:

{ "id": 463219, "firstName": "John", "lastName": "Smith", "company": "Acme Inc.", "salary": 72500, "links": [ { "href": "https://api.myapp.com/employees/employee/463219", "rel": "self" }, { "href": "https://api.myapp.com/companies/company/375", "rel": "company" }, { "href": "https://api.myapp.com/payments/employee/463219", "rel": "payments" } ]}

这个比如供给了资源的描绘和其他相关资源的信息。

需求特别说到的是,是否运用 HTTP 协议并不重要。REST 的要害之处在于让服务器端来担任客户端的状况搬运。客户端的状况几乎是由服务器端来驱动的,所以,评论 API 版别办理并没有多大含义。客户端只需知道 REST API 的进口点就能够了,剩余的依据服务器端的呼应来做决议,但这一点却被大多数人疏忽了。

仅仅简略地将 CRUD 操作映射到 HTTP 动词的 API 与应用程序状况搬运一点点扯不上联系,你能够把它们叫作 Web API 或 HTTP API,但请不要把它们叫作 REST API。

点个在看少个 bug

为你推荐

  • 进博会对话高通钱堃,混合AI是未来,5G-A发挥重要作用

    最近,高通公司全球高级副总裁钱堃在第七届中国国际进口博览会期间接受媒体专访时介…

    数码
  • 从手机到汽车 高通孟樸进博会解读5G+AI推动朋友圈扩展

    11月5日至10日,第七届中国国际进口博览会在上海举办,高通公司中国区董事长孟樸在进…

    数码
  • 小生意,大爆发|八大行业双11策略划重点

    双11大促已迈入正式期,各行业最关注的就是如何差异化抢量,本期通过对美妆、日化、3…

    数码
  • 2024爱企查毕业季校园行:构建诚信就业市场,为成电、广大学子保驾护航

    5月28日至31日,“2024爱企查毕业季校园行活动”先后走进电子科技大学、广州大学。…

    数码
  • 毕业不慌,查厉来帮|爱企查携手西电学子深度体验品牌魅力

      2024爱企查毕业季校园行火热进行中,5月27日至28日,爱企查走进西安电子科技大学…

    数码
  • “如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!