什么是API?一文解析让你彻底搞懂API的奥秘!

API,全称为Application Programming Interface,即应用程序编程接口。它是计算机编程中的一种规范或接口,它定义了不同软件之间相互通信的方式和协议。API允许不同的软件或系统之间互相交换数据和执行操作,而无需了解彼此的内部工作原理。
### API的基本概念
1. "定义和目的": - API定义了软件组件如何相互交互。 - 它们使得开发人员可以访问某些功能或数据,而无需了解其底层实现细节。
2. "类型": - "Web API":通过网络进行通信,常见于Web服务。 - "库API":嵌入在软件库中,提供特定功能。 - "操作系统API":允许应用程序与操作系统交互。
3. "工作原理": - API通过函数调用、消息传递或事件触发等方式工作。 - 它们通常涉及请求和响应的模式,其中客户端发送请求,服务器返回响应。
### API的应用场景
1. "Web开发": - 前端和后端之间的数据交换。 - 第三方服务集成,如支付、地图、社交媒体等。
2. "移动应用": - 访问设备硬件(如相机、GPS)。 - 集成云服务。
3. "企业应用": - 内部系统之间的数据共享。 - 与外部合作伙伴的系统集成。
### API的优势
1. "提高开发

相关内容:

API作为软件应用程序间的通信桥梁,对产品经理至关重要。懂API能助您高效沟通、拓展产品能力,还可通过API盈利。本文解析API核心组成要素,助您在产品设计中巧妙运用。

什么是API?

API,英文全称是Application Programming Interface,意思是“应用程序接口”。一般都是简称为接口,或者直接就叫API。

API是一套明确定义的规则、协议和工具,它规定不同的软件应用程序之间怎么相互通信、交换数据或者共享功能。

比如一个手机app想要给用户显示天气信息,根本不需要自己发射天气卫星,做天气的监测分析预报等等工作,直接按照规则,调用天气网的API接口就可以了,省时省力。

产品经理为什么要懂API?

1、和开发沟通起来更方便。

这是最基础的原因了,如果听开发说话像听天书一样,那后面的工作真是就没法进行了。

2、提升开发效率,扩展产品能力。

现在很多产品的能力并不是完全靠自己独立开发完成的,而是调用别家的能力和服务。

比如产品接入微信支付、支付宝支付、微信登录、地图等等这些能力,都需要依赖各个公司的API。

在一些公司内部,不同产品间可能也需要以内部API的形式来进行调用。

API对产品生态的构建,起着非常重要的作用。

产品经理懂API的话,就能比较清楚的知道产品能接入哪些能力和服务,对于产品能力的边界有一个把控。

3、通过API来盈利。

很多公司都是把自家的API做为一种能力进行售卖的,比如各类地图的API,大部分都会涉及到API调用的收费。

常见的API类型

1、 首先按通信协议划分:

作为产品经理,其实不用太纠结技术实现的细节,但要大概知道 什么场景用什么类型的API:

需要灵活方便的获取数据,比如用户个人中心同时展示基本信息、订单列表、积分余额,可以选用 GraphQL API避免多次请求;

需要高并发、低延迟,比如618或者双十一大促秒杀活动时的订单提交,选 RESTful API,比较成熟稳定、开发成本也低;

需要实时数据传输,比如视频会议的音视频传输,选 gRPC API,基于 HTTP/2,传输速度是 REST 的 3 倍以上。

2、按使用范围划分

API的核心组成要素(产品经理最好要懂)

1、Endpoint(端点)

就是API的具体网址链接(URL),代表一个特定的功能或者是资源。比如
https://api.example.com/v1/users 就是一个“用户”资源的端点。产品经理需要考虑自己的产品需要暴露哪些“资源”,比如用户、订单等等,每个资源需要提供哪些操作。

2、HTTP方法

比较常见的有下面这四种:

  1. GET:获取数据,比如查看用户列表、获取订单详情。
  2. POST:创建数据,比如创建新用户、下新订单。
  3. PUT/PATCH:更新数据,比如修改用户信息、更新订单地址。
  4. DELETE:删除数据,比如删除用户、取消订单。

如果你会使用postman的话,应该会比较熟悉这几个方法。

3、请求参数(Request Parameters)

相当于是调用API时,“对话的内容”,按传递位置划分的话,包含路径参数(Path Parameters)、查询参数(Query Parameters)和请求体参数(Body Parameters)。

  • 路径参数(Path Parameters):用来表示唯一资源,比如用户ID或者订单号,是一个唯一的值。
  • 查询参数(Query Parameters):相当于是查询的条件,比如查询已支付订单的第一页,每页10条,这些都要在查询参数中体现。可以看这个案例:GET https://api.xxx.com/orders?status=paid&page=1&size=10,接口地址后,用?拼接的就是查询参数,多个参数用&分隔。
  • 请求体参数(Body Parameters):相当于是请求的正文内容,可以用来传递复杂的数据,比如订单详情、用户的注册信息等等内容。

4、响应数据(Response Data)

响应数据是调用API时返回的结果,相当于是“对话时的回复内容”。

响应数据一般由响应状态码和响应体租组成,首先要能够理解不同的状态码都是什么意思,可以参考下面这个表格中的内容:

响应体一般和请求体一样,主流是json格式。

如果是成功响应:“状态标识 + 数据”;

如果是失败响应:“状态标识 + 错误码 + 错误描述”;

下面是以查询北京天气为例子的响应数据:

成功响应:

失败响应:

5、认证授权

认证授权是API 的 安全校验机制,相当于是 “对话前的身份验证”,确认调用者是 “合法用户”,并且有 “说话权限”。

下面表格中是几种常见的认证方式,可以根据不同的场景来使用,产品经理了解即可:

除了以上这些内容,产品经理也要和研发一起,做好API安全方面的设计,比如做好身份认证、权限控制,以及在一些特殊场景下,能够限流或直接熔断API,保证系统安全。

作者:向上的小霍,现任某厂AI产品经理,公众号:向上的小霍。

本文由 @向上的小霍 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自 Pexels,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章