API接口,其实就是个插座!

简介: 如果把互联网比喻为信息高速公路,那么既然是高速公路,就得有交通规则对不对?不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是?因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点,但好在过关卡的时候不用下车检查。

借助生活中熟悉的事物来理解接口,从插座到接口,你对接口的理解是不是更形象生动了?产品经理在日常的工作中,会经常与技术沟通。例如,在需求评审会上,开发说,你这个需求太复杂,光接口就十几个;又比如技术说联调接口,接口的响应时间等——这些都关于接口,如果产品经理不懂接口,显然就不能跟技术愉快地沟通了。这篇文章就来讲解“接口”这个玩意儿。

一、生活中的“接口”

先来看看接口的定义:API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,包括接口地址、传入参数和返回参数,目的是实现系统之间的相互通信。嗯,太复杂,太抽象了。认知心理学上讲,学习新事物有个技巧:将陌生的事物与大脑中熟悉的事物相联系,这样便于理解新的事物。那生活中有没有类似的概念呢?在日常生活中,两个实物之间进行连接的部分成为接口。

没错,插座就是一个接口!!!手机的插座、风扇的插座、台灯的插座,都是统一标准的二插,只要找到插座,就可以充电!所有的电器只要符合接口规范,便可以通过接口获得电(相应地,所有系统只要符合另一个系统的接口规范,便可以通过接口获取数据)。

举一个具体的例子:

小明的手机没电了,需要充电,怎么办?小明需要找到电源插座,然后通过充电器与手机相连进行充电。

二、技术说的“接口”

而技术所说的接口可以理解为:基于需求为了获得某些数据,正常状态下传入请求参数,会收到该数据范围内的返回参数。再来看一个产品中的例子,钉钉开放平台所提供的获取员工花名册字段信息的接口(如下图所示):接下来,本文将从接口的四大组成“接口地址、请求方法、请求参数、返回内容和系统”来讲解接口。

  1. 请求方式:get/post

如果把互联网比喻为信息高速公路,那么既然是高速公路,就得有交通规则对不对?不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是?因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点,但好在过关卡的时候不用下车检查。

大卡车运载的货物比较多还比较隐蔽,因此走post车道。

  1. 请求地址

顾名思义就是接口的地址,以网址的形式展现,你通过发送请求给这个网址来对接口进行交互操作。

  1. 参数说明

即传输参数的时候要带的一些参数,一般文档中会用表格的形式清晰的说明。当我向接口发送携带请求参数的请求时,都要携带什么字段,规则是什么。

  1. 返回内容

返回内容一般会以json或是XML的形式返回。XML和JSON是两种完全不同的数据表达方式,他们分别采用完全不同的格式将原始数据转换成XML或者JOSN格式数据,再借用货车与高速公路的例子,XML或JSON是车装载的货物。

三、接口的性能

  1. 接口响应时间

从请求端发送一个请求开始,到接收到响应结果所经历的时间。

  1. 并发数

指同时访问服务器站点的连接数。可以进行简单估算,如果响应时间<200ms,1s=1000ms,1000/200=5,那么1个线程,秒并发>5,如果有20个线程,那秒并发可以超过100。响应时间越短,多线程并发数越高,接口性能越好。不是所有的业务场景都需要“最好”的性能,满足业务场景即可。

  1. 进程和线程

一个程序有多个进程,一个进程有多个线程。对于操作系统来说,一个任务就是一个进程。比如,打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。

在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程。

四、小结

可以发现,理解好接口,可以帮助产品经理:更加理解各个系统之间的数据是如何流转的,在需求设计阶段考虑会更加全面、严谨。虽然不懂如何实现,但能大概估摸出开发总体工作量,在安排项目计划时会考虑到接口的难易程度。

数据与用户行为相联系,接口实现系统之间的数据交互,从功能的角度讲,便是功能决定接口,接口反作用于功能。

相关文章
|
11天前
|
NoSQL 安全 API
如何有效提升 API 接口的安全性?
**API安全关键在于验证和防刷。通过排序参数、生成签名和MD5加密确保请求合法性。使用Redis限制请求频率,防止接口被恶意刷取。验证和防刷策略结合,保护API免受攻击和滥用。**
29 0
|
16天前
|
JSON 安全 API
如何高效编写API接口:以Python与Flask为例
构建RESTful API的简明教程:使用Python的Flask框架,从环境准备(安装Python,设置虚拟环境,安装Flask)到编写首个API(包括获取用户列表和单个用户信息的路由)。运行API服务器并测试在`http://127.0.0.1:5000/users`。进阶话题包括安全、数据库集成、API文档生成和性能优化。【6月更文挑战第27天】
40 7
|
13天前
|
Java API PHP
【亲测有效,官方提供】php版本企查查api接口请求示例代码,php请求企查查api接口,thinkphp请求企查查api接口
【亲测有效,官方提供】php版本企查查api接口请求示例代码,php请求企查查api接口,thinkphp请求企查查api接口
20 1
|
16天前
|
JSON 安全 API
实战指南:使用PHP构建高性能API接口服务端
构建RESTful API的简要指南:使用PHP和Laravel,先安装Laravel并配置数据库,接着在`api.php`中定义资源路由,创建`PostController`处理CRUD操作,定义`Post`模型与数据库交互。使用Postman测试API功能,如创建文章。别忘了关注安全性、错误处理和性能优化。
26 2
|
18天前
|
人工智能 运维 Serverless
函数计算产品使用问题之启动的实例是否有调用api接口停止功能
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
19天前
|
数据挖掘 API 开发者
​Email API有哪些,最好的3个API接口有哪些
Email API如SendGrid、Mailgun和AOKSend是企业自动化邮件通信的关键工具。它们提供邮件发送、接收和管理功能,提升效率,优化客户体验。SendGrid以其高可靠性、强大分析和易于集成备受青睐;Mailgun以灵活性和高发送率著称;而AOKSend则以其高效、详细分析和易用性脱颖而出。通过使用这些API,企业能实现定制化邮件服务,跟踪性能,提升邮件营销效果。
|
19天前
|
API
个人微信api接口源代码
个人微信api接口源代码
|
23天前
|
自然语言处理 安全 API
触发邮件接口有哪些?邮件API文档
**触发邮件接口**如AokSend、Mailgun、Amazon SES、Postmark和Sendinblue是自动化企业通信的关键。这些接口在特定事件时自动发送邮件,提高效率和客户体验。例如,AokSend提供详细的API文档,支持事件触发、模板管理和多语言集成;Mailgun以灵活性著称;Amazon SES适合大规模发送;Postmark专注于事务邮件;Sendinblue则提供邮件、短信和营销自动化功能。每种服务都有示例代码展示如何使用API发送邮件。选择合适的接口能提升企业通信效率和客户满意度。
|
24天前
|
安全 API 网络安全
API接口安全加固:应对黑客攻击的实战指南
**API安全摘要:** API成为黑客目标,攻击类型包括未授权访问、CSRF、DDoS、数据泄露和注入攻击。防御策略包括使用OAuth 2.0和JWT进行认证授权,防止CSRF攻击,限制请求速率,避免数据泄露,以及实施注入攻击防护。开发者应定期更新安全措施,确保API安全性。示例代码展示了Node.js中JWT认证的实现。
|
7天前
|
存储 监控 API
解锁京东 APP 商品详情的 API 接口获取方法
在数字化商业环境中,获取京东APP商品详情的API接口至关重要。这有助于电商数据分析、价格监控、商品推荐等。API接口提供高效、稳定且合规的数据源,允许快速获取大量商品信息。要使用接口,需注册开发者账号、了解接口文档并进行开发调试。示例代码展示了Python如何调用接口。同时,注意遵守规则、处理数据安全及接口更新。利用API能提升业务效率,但需在合法合规下进行。