如何开发API,这样一份完整的API开发指南足够了

译者:DevOps亮哥
【如何开发API,这样一份完整的API开发指南足够了】审校:DevOps亮哥
API一词相信每一个开发人员都不陌生,API是软件系统之间或不同组成部分之间进行连接的约定 。特别是移动应用程序和微服务架构的不断普及,API就是他们成功背后的功臣,这个时候如何设计和开发API就显得格外重要,今天这篇文章就是一份完整的API开发指南,介绍了在开发API过程中的内容、工具和最佳实践 。请留好收藏,还可以转发给其他的朋友 。
一、API介绍API,它的全称是Application Programming Interface——应用程序编程接口,是一组指令、标准或要求,使软件或应用程序可以利用另一应用程序、平台或设备的功能/服务来获得更好的服务 。简而言之,它可以让应用程序彼此通信 。例如,当我们在使用支付宝、微信APP时,都会通过API请求后台服务器上的数据,在APP上进行展示 。
API是处理数据或启动两个产品或服务之间的通信的所有应用程序的基础 。它使移动应用程序或平台能够与其他应用程序或平台共享其数据,并在不涉及开发人员的情况下简化用户体验 。最重要的是,API消除了从头开始构建类似程序或平台的需求 。您可以使用其他一些应用程序/平台中的现有应用程序 。基于这些原因,应用程序开发人员和业务主管都将重点放在API开发上 。
在深入研究之前,先让我们看一下使您更容易理解该概念的基本术语 。
二、API术语

  1. API Key:当一个API请求通过Header或参数来识别调用者时,传递到请求中的授权码就是API Key 。
  2. Endpoint:当一个API与另一个系统交互时,通信通道的两端被认为是Endpoint 。
  3. JSON:是用于API请求参数和响应主体的数据格式 。
  4. GET:RESTful API的HTTP方法,用于获取资源 。
  5. POST:RESTful API的HTTP方法,用于创建资源 。
  6. OAuth:它基本上是一个开放标准的授权框架,可以在不直接共享凭据的情况下从客户端进行访问 。
  7. REST:REST(代表性状态转移)是一种编程体系结构的实现,用于提供两个设备/系统之间的通信效率 。它是一个轻量级的,他是通过数据引用而不是数据副本的方式来共享数据,基于这个架构创建的系统称为“RESTful”系统,而RESTful系统中最著名的例子就是万维网 。
  8. SOAP:SOAP或简单对象访问协议是一种消息协议,用于在计算机网络中执行Web服务时共享结构化信息 。它与XML信息集和应用程序层协议(如HTTP和SMTP)一起使用,分别用于消息格式和消息协商与传输 。
  9. 延迟:延迟定义为API从请求到响应的过程中所花费的总时间 。
  10. 速率限制:API速率限制是指定义最终用户可以访问API的速率的过程 。也就是说限制用户每次可以向API发送的请求数 。
  11. API限流:调节用户在特定时间段内使用API的过程称为限流 。这可以用于API限制,比如,设置每天限制1000个API请求,当用户点击1001个请求时,服务器会返回429的HTTP状态码,并带着“请求太多”的消息 。
三、API的工作流程假如打开一些旅游应用程序/网站来预订航班,再填写了表格——输入了出发和返回日期,城市,航班以及其他相关详细信息——并提交了 。只需几秒钟,屏幕上就会显示航班清单以及价格,时间,座位可用性以及其他详细信息 。
为了提供这样严格的数据,该平台向航空公司的网站发送了请求,以访问其数据库并通过API获取相关数据 。网站以API形式传递给平台数据作为响应,平台将其显示在屏幕上,基本的过程如下:
如何开发API,这样一份完整的API开发指南足够了

文章插图
 
在此,航班预订应用程序/平台和航空公司的网站充当端点(EndPoint),而API充当简化数据共享过程的中介 。在谈论端点通信时,API有两种形式,即REST和SOAP 。尽管这两种方法都能带来有效的结果,但目前移动应用开发程序更喜欢使用REST而不是SOAP,因为SOAP API繁重且依赖于平台 。
下面就介绍一下如何开发API?选择哪些工具和技术?
四、开发API的工具在开发API的过程中有许多工具和技术可以使用,下面介绍几个用于为开发人员开发API的流行工具:
  1. Apigee:它是google的API管理工具,通过重新建立API方法来帮助开发人员和企业家在数字化转型方面取得成功 。
  2. APIMatic and API Transformer:提供了复杂的自动生成工具,通过API特定格式构建高质量的SDK和代码片段,并将其转换为其他规范的形式,如RAML,API Blueprint等等 。


    推荐阅读