什么是 API ?

简介: API 即应用程序接口(API:Application Program Interface),应用程序接口是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信。

一、API 的定义:数据共享模式定义 4 大种类

作为互联网从业人员,API 这个词我耳朵都听起茧子了,那么 API 究竟是什么呢?

API 即应用程序接口(API:Application Program Interface),应用程序接口是一组定义、程序及协议的集合,通过 API 接口实现计算机软件之间的相互通信。

根据不同软件应用程序间的数据共享性能,可以将 API 分为四种类型:

远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。

标准查询语言(SQL):是标准的访问数据的查询语言,通过数据库实现应用程序间的数据共享。

文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。

信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。

二、API 使用场景:互联网时代,API 无处不在

在生活中,我们无时无刻都在使用 API,包含你打开的网页的同时,甚至触发了几百上千个 API,查询数据,系统之间交互,文件传输等等,API 都发挥了至关重要的作用。

2.1 SQL 查询

小 A :我写了一个 SQL,查询到数据库里的数据。

# 从全世界找到你

select * from the_world where someone like 'you';

# 查询结果

A very big pig

2.2 数据传输

小 B :我打开一个 web 网页,页面的前端通过 https 接口获取到后端数据(拿到获取数据的 url 后,搞爬虫的小伙伴常用来下载数据)

三、开放 API(OpenAPI):开放双赢

一般来说,内部 API 是非常机密的信息。但有时候,网站的服务商需要将自己的网站服务封装成一系列 API(Application Programming Interface,应用编程接口)开放出去,供第三方开发者使用。

如图所示,开放 API 主要分为 5 大类:

电信类

地图类

电商类

SNS 类

微博类

从而吸引一些第三方的开发人员在该平台上开发商业应用,平台提供商可以获得更多的流量与市场份额,第三方开发者不需要庞大的硬件与技术投资就可以轻松快捷的创业,从而达到双赢的目的。

开放 API 是大平台发展、共享的途径,让开发者开发一个有价值应用,付出的成本更少,成功的机会更多。

四、API 的痛点和解决方案

API 固然很强大,但在使用过程中,也存在许许多多的难题。

要分析 API 的痛点,不得不提到使用 API 的各个项目角色,通过以下的工作流程图,可以看到不同项目角色是如何参与到与 API 相关的研发工作中的。

后端工程师:约定接口、开发 API、编写文档、单元测试

前端工程师:约定接口、页面开发、Mock API、前后联调

技术管理者:技术评审、工期评估、管理文档

测试工程师:自动化测试 API、缺陷分析、问题反馈、输出测试报告

相关文章
|
1月前
|
监控 测试技术 API
Python Web应用程序构建
【4月更文挑战第11天】Python Web开发涉及多种框架,如Django、Flask和FastAPI,选择合适框架是成功的关键。示例展示了使用Flask创建简单Web应用,以及如何使用ORM(如SQLAlchemy)管理数据库。
59297 7
|
23天前
|
机器学习/深度学习 算法 大数据
[ICLR 2024] 基于Pathways架构的自适应多尺度时间序列预测模型Pathformer
阿里云计算平台大数据基础工程技术团队主导,与华东师范大学数据科学与工程学院合作的论文《Pathformer: Multi-Scale Transformers With Adaptive Pathways For Time Series Forecasting》被ICLR 2024接收,该论文提出了基于Pathways架构的自适应多尺度时间序列预测模型Pathformer,它从时间分辨率和时间距离角度进行多尺度时序建模,同时进一步提出自适应Pathways来动态调整多尺度建模过程,基于两者,Pathformer在阿里云数据集和公开数据集上取得SOTA预测效果,并展现出不错的泛化性和迁移性。
|
1月前
|
存储 Dragonfly NoSQL
Tair 对 Redis 引擎架构之争的看法
本文详细讲解了阿里云自研数据库Tair的发展以及介绍。
73437 1
|
1月前
|
消息中间件 Docker 索引
【一文解读】阿里自研开源核心搜索引擎 Havenask简介及发展历史
本次分享内容为Havenask的简介及发展历史,由下面五个部分组成(Havenask整体介绍、名词解释、架构、代码结构、编译与部署),希望可以帮助大家更好了解和使用Havenask。
71616 0
【一文解读】阿里自研开源核心搜索引擎 Havenask简介及发展历史
|
XML JSON API
API参考—实例管理—DeleteDBInstance
调用DeleteDBInstance接口释放实例。
|
XML JSON API
API参考—实例管理—DescribeDBInstances
调用DescribeDBInstances接口查看实例列表详情。
157 0
|
XML JSON API
API参考—实例管理—ModifyDBInstanceMaintainTime
调用ModifyDBInstanceMaintainTime接口修改实例可维护时间。
|
JSON API 开发工具
API参考—实例管理—CreateDBInstance
调用CreateDBInstance接口创建数据库实例。
|
11月前
|
存储 网络协议 容灾
降低存储网络55% 延迟!阿里云存储论文入选计算机顶会
凭借在规模化部署和应用模型上的创新,阿里云存储团队发表的技术论文《Deploying User-space TCP at Cloud Scale with LUNA》被 USENIX ATC'23 收录。
1186 4
降低存储网络55% 延迟!阿里云存储论文入选计算机顶会
|
XML JSON API
API参考—实例管理—RestartDBInstance
调用RestartDBInstance接口重启实例。