小程序
传感搜
传感圈

您需要知道的API基础知识都在这里 译文 精选

2022-09-21
关注

​译者 | 陈峻

审校 | 孙淑娟

API是应用程序编程接口(Application Programming Interface)的缩写,能够起到两个软件组件之间的连接器或中介的作用。此类接口往往通过一组明确的协议,来表示各种原始的请求和响应。API文档可以向开发人员展示请求和响应是如何形成的。简单而言,API能够允许两个应用程序彼此之间实现通信。无论我们在手机上查看天气,还是使用微信,或者在Facebook等应用上收发消息,都会频繁地使用到API。

有关API的数据

  • 自2007年以来,API的使用量已增加了13倍
  • 得益于API,Google、Facebook和Twitter等知名应用,每天都会被调用约50-100亿次
  • Netflix持续使用API向200台设备传输数据流

API的调用流程

当我们在使用应用程序的某项功能时,通常会在后台发生如下情况:

  1. 数据请求被发送到服务器
  2. 服务器对其进行解析,并理解其请求的含义
  3. 服务器提供必要的响应
  4. 响应被成功地发送回设备

其实,每次在我们要求应用程序提供某些特定的服务响应时,这样的过程都会重复循环一次。

不同的API协议和架构

  • REST:在众多的API架构类型中,表述性状态转移(Representational State Transfer)往往被广为采用。REST API的工作原理是以客户机与服务器的方式,将API的前端与后端区分开来。而且它不会存储任何数据或状态。
  • SOAP:简单对象访问协议(Simple Object Access Protocol)也被广泛用于通过XML创建Web API的场景中。它能够兼容诸如:HTTP、TCP和SMTP等互联网常见的通信协议。由于SOAP易于被扩展,因此开发者能够很容易地用它来编写和添加新的功能。与其他架构相比,SOAP具有高度结构化、严格可控性、以及具有被明确定义的标准等特性。
  • RPC:远程过程调用(remote procedural call)能够被用来调用各种可执行的操作。它非常适合于发送各种参数,以及接收各种相应的响应。

API的类型

根据访问级别和使用范围的不同,API往往可以被分为如下不同的类型。开发人员可以根据自己的要求,进行适当地选择。 

A、伙伴API

在此类API中,对于数据的访问,仅限于那些拥有官方许可证的授权客户端。也就是说,只有那些与提供API的公司有业务关系的调用方,才能使用此类API。开发方对于谁可以访问这些资源,有着较大的控制权。

伙伴API的优势:

  • 业务方可以把更多的注意力放在公司的核心与发展上,而无需迁就开发人员。如果一个开发人员觉得某个问题难以被解决,则可以由另一个开发人员去轻松地搞定。这便是伙伴合作给项目带来的好处。
  • 保留伙伴API政策将有助于集成大量电商软件的不同解决方案,并使得软件能够在瞬息万变的行业中保持最新和强相关。

B、公共API

顾名思义,公共API可供任何外部开发人员或企业使用。对于那些与公众和其他业务组织共享应用和数据的业务结构来说,Public API是理想的选择。

公共API的优势:

公共API不但容易实现,而且能够保证用户只要有互联网连接,就能随时随地使用应用服务。

C、内部API

内部或私有API往往只能让企业在其业务内部连接和访问数据。由于内部API的安全性和身份验证能力相对较弱,因此容易导致数据受到安全威胁。对此,开发者需要逐渐改变它们在安全上的各种部署与安排。

内部API的优势:

由于内部API能够将业务的不同部分连接起来,以提高开发过程中的适应性和灵活性,因此此类API可以让开发人员在较短的时间内,制定和构建新的关联应用。

D、复合API

复合API通常是两到多种API的混合体。由于集成了各类API的长处,因此它往往能够带来更高的速度、更大的灵活性、以及更好的性能。

复合API的优势:

复合API能够在单个调出(callout)中执行多项操作。而且其所需的数据位于调用序列的末端,而无需解析各种响应。因此,它比其他API更受欢迎。

API的工作原理

每个API都是由函数的调用来实现的。而函数调用的任务主要是请求软件去执行某些特定的操作和函数。当用户启动API的调用时,它会通知应用程序去启用API与Web服务器通信,并执行相应的任务。具体而言,每当用户指示软件去执行某些任务、或请求某种信息时,API会以应用程序和Web服务器之间的“桥梁”身份去实现。正如前文所说,我们在日常生活中使用到的,诸如:Facebook登录、PayPal支付、以及Google天气查询等,都是API的典型示例。您可以通过链接-- https://nordicapis.com/5-examples-of-apis-we-use-in-our-everyday-lives/,了解其更多的应用场景。

API开发的工具

既然API的任务是简化和加速软件的开发,那么正所谓“工欲善其事,必先利其器”,让我们来看看三种常见的API开发工具: 

  • Sandbox:作为一种简单的模拟RESTful API,它主要能够降低测试过程中第三方API调用的成本。 
  • Apigee:作为构建应用连接的理想工具,由Google推出的Apigee可以促进应用程序和服务之间的数据传输。
  • APIMatic:对于网站的各种API而言,APIMatic以平台的形式,方便开发人员更加灵活地维护API的各种更新。同时,它也允许开发人员将API描述并转换成诸如:WADL、Swagger、RAML、OAI格式、IO文档、API蓝图、har1.4、以及Postman集合等多种形式。

API的构建实践

API的构建实践,主要体现在如下五个方面:

  1. 安全性:使用基于令牌的身份验证,是构建安全可靠的API的良好实践。它既保证了安全性,又兼顾了用户友好性。
  2. 文件:精心编撰的API文档不但能够降低项目的开发成本,而且可以提高应用的运行效率和实现时间。应用程序开发人员往往需要通过丰富的API支持文档,来详细地了解整个调用与实现过程。
  3. 节流:当涉及到需要重定向流量的溢出、防止DoS(拒绝服务)、以及备份各种API时,我们往往需要通过应用的节流,来有效地实现此类目的。
  4. SDK和代码库:通过向开发团队提供必要的库资源,我们可以加速开发的进程。
  5. 重写HTTP方法:由于一些代理只能支持POST和GET方法,因此我们使用定制的HTTP报头X-HTTP-Method-Override,能够允许RESTful API去重写HTTP的方法。

小结

从Node.js到PHP与ASP.Net的Web开发,无论是简单的Python开发、还是复杂的Java软件,API在每一项技术中都得到了广泛的使用,都能够为从开发到业务的协作铺平道路。只要我们能够根据自己的实际业务需求,合理地构建或修改API,就能够填补异构数字技术之间的鸿沟,提高应用服务的调用效率,进而为业务带来更丰厚的利润。

译者介绍

陈峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

原文标题:​​Everything You Should Know About APIs​​​,作者:Himanshu Mehra​

  • api
  • api标准
您觉得本篇内容如何
评分

相关产品

Daniel Measurement and Control Inc. Series 1200 涡轮流量计

所有涡轮流量计安装应采用标准上下游段(根据API第5章第3节)或流量调节板进行流量调节。1200系列涡轮流量计有一个完整的流量调节板,作为尺寸为1.5英寸及以上的标准配置。该流量计的设计符合API标准第5.3章(用涡轮流量计测量液态烃)和API第4章(验证系统)的测试程序的指导原则。

Endress+Hauser ( E+H ) 恩德斯豪斯 LPGmass 质量流量计和控制器

包括根据API表53进行的标准体积计算。变送器概念包括:,Promass传感器,在超过100000个应用中进行了试验和测试,提供:

Eagle Eye Power Solutions, LLC SG-Ultra Max Ex Petrol 密度和比重仪器

结果将在几秒钟内以您选择的单位(通常是API SG、API重力和原油、燃料和润滑剂的API密度)显示在LCD屏幕上。结果也可以进行温度补偿,并可以通过附带的IrDA电缆无线传输到PC或打印机。SG Ultra Max Ex-Petrol是新的ASTM标准D7777-12的官方认可的现场方法,该标准描述了密度、相对密度的测试方法,或通过便携式数字密度计测量的API液体石油比重,最低精度要求为0.001g

Xsens MTi-30-2A8G4 IMU-惯性测量单元

XsensMTi-10 系列传感器是第四代 MTis,可提供基于 MEMS 的可靠 AHRS、VRU、 IMU,并且为这些产品设立了业界标准。MTi-10 系列和高性能 MTi 100 系列具有多种共同的机械、电气和通信/API 接口,可广泛应用于 3D 运动跟踪,轻松进行集成。

Movella MTi-10-2A8G4 惯性测量单元(IMU)

XsensMTi-10 系列传感器是第四代 MTis,可提供基于 MEMS 的可靠 AHRS、VRU、 IMU,并且为这些产品设立了业界标准。MTi-10 系列和高性能 MTi 100 系列具有多种共同的机械、电气和通信/API 接口,可广泛应用于 3D 运动跟踪,轻松进行集成。

API Technologies Corp. EMI Filtered Audio Connectors 音视频接口

API Technologies修改了标准的MIL-DTL-55116连接器,这些连接器用于60伏\/0.5安培音频电路中,以提供有效的EMI过滤。API’s过滤音频连接器是防水的、极化的、5针或6针的电气插头/插座,可设计用于特殊和选择性加载的EMI过滤。

KROHNE Messtechnik Krohne UFM 3030 Ultrasonic Flow Meter 超声波流量计

可选地,压力和温度输入可用于计算标准体积流量或质量流量(根据API 2540或客户规范)。,很自然,完整的通信协议和危险区域批准使得将仪表集成到现有系统中成为可能。

ProSoft 普索 MVI56-AFC 流量计算机,累加器和指示器

MVI56液体和气体流量计算机模块是一个ControlLogix \ u00ae底板容易兼容模块,允许ControlLogix处理器支持流应用程序执行测量的碳氢化合物气体或液体使用AGA 3、7、8和API2540测量标准。

Newson Gale, IEP Technologies Earth-Rite MGV 接地电阻测试仪

、消除的风险引火的静电火花放电API标准2219:安全运行真空卡车在石油服务建议真空卡车运营商在危险地点转移易燃和可燃产品之前必须充分地卡车中的任何其他任务转移操作通过连接卡车\ u201cproven,Earth-Rite MGV旨在使运营商建立安全接地的车辆符合这个标准。

RS Components 欧时 1115552 摄像机

Pi NoIR(无红外线)与标准相机模块相同,但没有红外滤光片。因此,它是伟大的摄影和视频在黑暗中。该模块采用了来自索尼的IMX219PQ图像传感器,可提供高速视频成像和高灵敏度。连接后,您可以通过多媒体抽象层(MMAL)或Linux视频(V4L)API访问摄像头板。另外,还有Picamera Python等库,以及其他许多库,您可以在线找到这些库。功能和好处:。

评论

您需要登录才可以回复|注册

提交评论

51CTO

这家伙很懒,什么描述也没留下

关注

点击进入下一篇

汽车之家电商系统架构演进与平台化架构实践 原创

提取码
复制提取码
点击跳转至百度网盘