微信扫码登录

其他登录方式

绑定手机号

注册

我同意用户协议

忘记密码

用户协议

绑定手机号

近期有不法分子打着爱盈利的旗号,制作“爱盈利”名称的App,并伪造爱盈利证件,骗取用户信任,以抖音点赞赚钱或其他方式赚钱为名义,过程中以升级会员获得高佣金为名让用户充值。
爱盈利公司郑重声明:我司没有研发或运营过任何名为“爱盈利”的APP,我司做任务赚钱类产品从没有让任何普通用户充值升级会员。我公司产品均在本网站可查询,请将网站拉至底部,点击“关于我们”可查看爱盈利相关产品与服务。
温馨提示:当遇到此类问题请拨打官方电话或添加官方微信,以免财产损失。爱盈利官网地址:www.aiyingli.com。
  • 推广与合作
X

接口,原来就是个插座

来源:人人都是产品经理 306109

借助生活中熟悉的事物来理解接口,从插座到接口,你对接口的理解是不是更形象生动了?

接口,原来就是个插座

产品经理在日常的工作中,会经常与技术沟通。

例如,在需求评审会上,开发说,你这个需求太复杂,光接口就十几个;又比如技术说联调接口,接口的响应时间等——这些都关于接口,如果产品经理不懂接口,显然就不能跟技术愉快地沟通了。

这篇文章就来讲解“接口”这个玩意儿。

一、生活中的“接口”

先来看看接口的定义:

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,包括接口地址、传入参数和返回参数,目的是实现系统之间的相互通信。

嗯,太复杂,太抽象了。

认知心理学上讲,学习新事物有个技巧:将陌生的事物与大脑中熟悉的事物相联系,这样便于理解新的事物。

那生活中有没有类似的概念呢?

在日常生活中,两个实物之间进行连接的部分成为接口。

没错,插座就是一个接口!!!

手机的插座、风扇的插座、台灯的插座,都是统一标准的二插,只要找到插座,就可以充电!

所有的电器只要符合接口规范,便可以通过接口获得电(相应地,所有系统只要符合另一个系统的接口规范,便可以通过接口获取数据)。

举一个具体的例子:

小明的手机没电了,需要充电,怎么办?

小明需要找到电源插座,然后通过充电器与手机相连进行充电。如下图所示:

接口,原来就是个插座

二、技术说的“接口”

而技术所说的接口可以理解为:基于需求为了获得某些数据,正常状态下传入请求参数,会收到该数据范围内的返回参数。

再来看一个产品中的例子,钉钉开放平台所提供的获取员工花名册字段信息的接口(如下图所示):

接口,原来就是个插座

接下来,本文将从接口的四大组成“接口地址、请求方法、请求参数、返回内容和系统”来讲解接口。

1. 请求方式:get/post

如果把互联网比喻为信息高速公路,那么既然是高速公路,就得有交通规则对不对?不然你开拖拉机的、和开大卡车的都在一条路上飙车,很容易堵车是不是?

因此信息高速公路的交通规则中,就有一条特别规定了,开拖拉机的和开卡车分别应该走什么车道。

开拖拉机的运载的货物相对比较少,也很容易看出来运载的是什么货物,因此建议走get车道,虽然路窄一点,但好在过关卡的时候不用下车检查。

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

图1是一个get请求,他的参数是拼接在url(query string)里的。

接口,原来就是个插座

图2是一个post请求,它的参数是在request body(请求体)中的,以键值对的形式传递参数。

接口,原来就是个插座

2. 请求地址

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

3. 参数说明

即传输参数的时候要带的一些参数,一般文档中会用表格的形式清晰的说明。

当我向接口发送携带请求参数的请求时,都要携带什么字段,规则是什么。如下图:

接口,原来就是个插座

4. 返回内容

返回内容一般会以json或是XML的形式返回。

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

接口,原来就是个插座

像上面贴出来的这种接口,还是比较好阅读的。

如果我们发送userid_list和field_filter_list,就是员工userid列表和花名册字段列表,接口就返回给我们errcode返回码以及errmsg返回码的文本描述,提示我们是否返回成功。

假若成功,便会返回如下的花名册字段信息:

接口,原来就是个插座

三、接口的性能

1. 接口响应时间

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

2. 并发数

指同时访问服务器站点的连接数。

可以进行简单估算,如果响应时间<200ms,1s=1000ms,1000/200=5,那么1个线程,秒并发>5,如果有20个线程,那秒并发可以超过100。

响应时间越短,多线程并发数越高,接口性能越好。不是所有的业务场景都需要“最好”的性能,满足业务场景即可。

3. 进程和线程

一个程序有多个进程,一个进程有多个线程。

对于操作系统来说,一个任务就是一个进程。比如,打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。

有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。

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

四、小结

可以发现,理解好接口,可以帮助产品经理:

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

最后用一句话总结一下:

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

 

本文由 @泽 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

爱盈利-运营小咖秀(www.aiyingli.com) 始终坚持研究分享移动互联网App运营推广经验、策略、全案、渠道等纯干货知识内容;是广大App运营从业者的知识启蒙、成长指导、进阶学习的集聚平台;

想了解更多移动互联网干货知识,请关注微信公众号运营小咖秀(ID: yunyingshow)

【转载说明】   若上述素材出现侵权,请及时联系我们删除及进行处理:8088013@qq.com

评论

相关文章推荐

SELECT dw_posts.ID,dw_posts.post_title,dw_posts.post_content FROM dw_posts INNER JOIN dw_term_relationships ON (dw_posts.ID = dw_term_relationships.object_id) WHERE 1=1 AND(dw_term_relationships.term_taxonomy_id = 3083 ) AND dw_posts.post_type = 'post' AND (dw_posts.post_status = 'publish') GROUP BY dw_posts.ID ORDER BY RAND() LIMIT 0, 6

京ICP备15063977号-2 © 2012-2018 aiyingli.com. All Rights Reserved. 京公网安备 11010102003938号