5分钟带你搞懂api接口~

在工作中经常被开发问到一句话"你给我一个接口让我调用一下呗",老板问能不能用自己的程序获取一些数据,开发往往也说"可以呀,让对方给一个接口和应用的权限,让我们调用一下就行了。"

这里所说的接口到底是什么呢?

什么是API?了解它对我们PM有什么用呢?本文就API理论知识带你了解它的作用。

一、什么是API?

在教科书上API是这样被解释的:

API又称应用程序接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分为小的组成部分,编程接口的设计十分重要,程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。

说了这么多,是不是一个字都没听懂?莫急且听我慢慢道来:

API,其实是接收你的指令传输给电脑,再将电脑的反馈传递给你的一个现实,这么说,你可以把API想象成是餐馆服务生,菜单上有你想吃的牛排,而厨房就是那个杀牛的备菜部门,但是这里面缺失一个环节,是把你的简单指令传递给厨房,再从厨房端菜到你桌上的一个服务生,所以服务生接收你的指令,再把你的指令传递给厨房,最后再从厨房把牛排端到你桌上,这就是API的作用。

二、接口类型

API接口按位置分:

1、内部接口:连接产品内部数据接口,可以对接前端与和后台数据传输。

比如电商平台的前台和后台之间接口调用,比如查询界面,我前端是不是用传 输入的参数 到后端去查询结果,后端怎么去处理业务获取数据,这些方法 形成一个接口,就是内部接口。

2、外部外部:找第三方(数据统计或者第三方功能)

比如在医院,内科检查时,医生不能很清楚了解你的具体情况,这个时候需要借助第三方工具------内科仪器,仪器检查后的数据通过电脑输出给医生。在这个事件中,仪器电脑是外部接口。

API接口按功能类型分:

1、同步接口:A系统请求B系统接口之后,必须获得B系统接口的响应后才会执行下一步操作。

同步接口我们可以理解,你们去买票,你付款相当你发送一个请求,那么你回立马要求他给你一张票,给你一张票相当于返回数据,那么同步接口有实时性,你发送请求,需要他在有限的时间内立马返回数据,没返回数据就交易失败,回报错,那么售票员回反馈交易失败的原因。

例如:登录操作的时候调用第三方平台接口(如微信)进行登录,需要跳转到微信进行验证并返回验证结果后,才能登录成功。

总结:

①同步接口实时交互的

②同步接口有时间限制,超过有限时间,就会报错timeout

2、异步接口:A系统请求B系统接口之后,不需要等待源系统返回结果就可以进行下一步操作。

例如:

异步接口可以理解为,你找黄牛买票,你给钱给到黄牛,把你的要求和联系方式告诉黄牛,黄牛告诉你收到信息和钱了,这个时候你不要等他返回了,你就可以干其他的事情去了,OK黄牛也接很多人的单子,他把单子放在这里,然后按照名单上面的数据一个一个去完成,完成了,他就会打电话告诉你,你票买到了,那么这个就是异步接口。

案例:我们进程去提交订单,他返回订单ID给我们,我们通过订单查看结果,这个订单有没有完成,比如我们经常遇到界面显示在处理中。。。。

总结:

1、异步接口交互不是实时的

2、异步接口你需要实时去查询,通过调用另一个接口查看结果,或者你给他们一个回调的地址,他做完之后通过这个地址返回信息给你。这就是异步接口。

三、接口有什么用?

通过API,即使不知道对方系统内部如何操作,也能实现自己的系统与对方系统的交互。

在日常开发过程中,前后端有数据交互时,前端开发同事都会问后端询问接口,而不需问/关注具体的实现逻辑,高效便捷。

例如:

APP/物流上需展示天气信息,那么开发同学直接接入对应的天气/物流查询接口就行此外,接口的开放让许多第三方应用可以快速、轻松实现更多功能,如第三方支付、分享组件等等。

四、对产品经理的作用与意义

1、明确各个系统之间的数据流转,特别是功能系统的产品经理,只有在知道了功能设计的目的、需要对外提供什么样的接口服务,需求设计阶段才能够考虑得更加全面;

2、掌握开发总体工作量,而不局限于功能;另外,在安排项目计划时能够考虑到与周边系统联调的时间,计划安排才会更加合理;

简而言之,产品经理不一定不用懂要干嘛,但是一定得以了解为主,清楚它是干嘛的就ok了。

3、 识别项目中的关键风险点,特别是一些关键接口、数据量大需要进行大数据压测的接口,需要尽早安排联调和测试,并且对周边配合的项目提出要求。

说白了,联合调动测试,几个接口前端和后端按数据真实流程走一下,检查接口会不会断开。模块与模块的数据传输是否成功,不然会影响到用户体验度。

五、总结:

日常的产品开发过程中,涉及前后端数据交互的时候,往往会离不开接口调用,尽管产品经理一般不需要写接口文档(负责接口中间层产品经理除外),但对接口的一些基本知识了解清楚对日常和程序员需求沟通、需求传达还是非常必要。(毕竟懂技术的产品经理还是更吃香的~)

相关推荐
工业甲酰苯胺4 分钟前
分布式系统架构:服务容错
数据库·架构
高山我梦口香糖1 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
m0_748235241 小时前
前端实现获取后端返回的文件流并下载
前端·状态模式
m0_748240252 小时前
前端如何检测用户登录状态是否过期
前端
black^sugar2 小时前
纯前端实现更新检测
开发语言·前端·javascript
Java程序之猿2 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
AskHarries2 小时前
Spring Cloud OpenFeign快速入门demo
spring boot·后端
寻找沙漠的人2 小时前
前端知识补充—CSS
前端·css
GISer_Jing3 小时前
2025前端面试热门题目——计算机网络篇
前端·计算机网络·面试
m0_748245523 小时前
吉利前端、AI面试
前端·面试·职场和发展