api接口是什么(产物司理,你要懂点API接口知识!)

产物司理不需要深入地去领会各个接口的实现原理,究竟术业有专攻,然则领会什么场景应该使用什么样的接口照样很有需要的,可以利便更好地对外提供数据服务。 刚成为产物司理的时刻经常听到开发…

产物司理不需要深入地去领会各个接口的实现原理,究竟术业有专攻,然则领会什么场景应该使用什么样的接口照样很有需要的,可以利便更好地对外提供数据服务。

刚成为产物司理的时刻经常听到开发吐槽:“这产物司理啥都不懂,这个需求那么多接口,开发都够呛还要联调,居然就排这么点开发时间,出了什么问题我可不卖力!”

每次听到这样的吐槽总会一脸懵逼——什么接口?什么联调?我又做错了什么?

厥后自己做过开发之后,最先领会到:在系统层面上,除了看得到的页面功效,另有许多隐藏在页面功效之下的接口。

这篇文章就简朴总结一下:我眼中的接口是什么样的?以及,为何要学习API接口知识?

 

什么是接口?

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

打个譬喻,若是我开了一家银行,开放了存/取款的服务。通俗储户通过手上的支票想取走存款,必须先找到对应的【位置】,也就是准确的银行、准确的柜台。

凭据银行划定的【支票花样】填写好,那么就可以凭这个“支票”里拿走钱。

另外,柜台是有限的、来取钱的客户可能会许多,因此也就需要客户【取号排队】,一个接着一个有序的举行取款服务。为了平安和服务质量的思量,银行柜台需要有【反馈机制】,若是客户支票填写有误、或者支票过时了,需要告诉客户回去重新填写。

【位置】:系统对外公布的API地址,包含了IP、端口、API名称等信息。

【支票花样】:这个接口的数据传输规范,好比:SKU只支持9位长度的字符串数据,库存只支持16位长度的数字,若是传参花样纰谬,那么就会启动【反馈机制】。

【取号排队】:接口的“新闻行列”,新闻行列的主要特点是异步处置,可以削减请求响应的时间息争耦。想象一下,若是取钱的人不【取号排队】而是一哄而上涌上柜台,柜台还能提供正常的服务吗?

【反馈机制】:接口中的返回参数,为了保证对方能够正常获取所有的数据,不至于由于数据异常之类的缘故原由导致数据丢失,在发现异常的时刻,需要见告对方发生了什么异常,为什么无法获取到这个数据,对方就会凭据这个反馈做出响应的调整,或者重新提议请求、或者放弃这种数据。

注:开发人员口中的“联调”,简而言之就是两个系统的开发人员之间对这个接口挪用乐成与否、数据能否正常获取等场景举行测试。由于接口联调涉及到跨系统的开发人员之间配合,以是一样平常需要在正常的开发时间之外预留出一段时间给到开发人员举行联调。

 

接口的类型有若干种?

上面只是用一个对照通俗的例子对接口的原理举行说明,实际上接口的类型有许多,下面会凭据差别的接口类型讲讲种种类型接口之间的区别:

 

1. 凭据响应的机制可以分为同步、异步接口:

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

例如:登录操作的时刻挪用第三方平台接口(如微信)举行登录,需要跳转到微信举行验证并返回验证效果后,才气登录乐成。

异步接口:A系统请求B系统接口之后,不需要守候源系统返回效果就可以举行下一步操作。

例如:在滴滴打车之后,司机点击竣事行程后,不需要守候银行付款乐成之后再最先下一个订单。由于此时滴滴已经验证过司机、搭客的银行账户或者支付宝账户,确认了双方买卖的合法性就可以竣事订单。

这时,我们看到的是我们已经付款乐成(实在银行可能还没扣款),而滴滴后台会将这笔买卖流水传给银行,在银行验证后再举行扣款、付款操作。

 

2. 凭据接口的触发形式可以分为分发、订阅接口

分发接口:A系统发生新数据的时刻就分发给B系统(也可以是多个)。

例如:电商网站后台的客户治理系统,在发生了一个新的黑名单客户的时刻,就会将数据分发到订单、推荐等等各个系统,以便实时阻挡这部门客户的订单。

订阅接口:B系统在需要的时刻挪用A系统的接口举行数据订阅。

例如:用户在股票买卖软件中查询银行账户余额的时刻才会挪用银行的余额查询接口,而股票买卖软件自身不存储这个数据。

 

产物司理领会接口有什么用?

以上差别类型的接口划分有差别的使用场景,小我私家认为产物司理不需要明白种种接口的实现原理,然则要领会什么场景应该使用什么样的接口,以便更好地对外提供数据服务。

小我私家看来,领会接口有以下几个利益:

  1. 明确各个系统之间的数据流转,特别是功效系统的产物司理,只有在知道了功效设计的目的、需要对外提供什么样的接口服务,需求设计阶段才气够思量得加倍周全;
  2. 掌握开发总体事情量,而不局限于功效;另外,在放置项目设计时能够思量到与周边系统联调的时间,设计放置才会加倍合理;
  3. 识别项目中的要害风险点,特别是一些要害接口、数据量大需要举行大数据压测的接口,需要尽早放置联和谐测试,而且对周边配合的项目提出要求。

 

产物司理若何写接口文档?

在度娘就可以找到不少现成的接口文档,可以参考腾讯开放平台上的API列表,这里简朴总结几个要点:

  1. 声明接口字段和返回参数,字段需要声明是否必填、字段类型、长度以及处置规则;
  2. 声明接口预估的数据量巨细、挪用频率等,以保证开发时思量到接口的健壮性;
  3. 声明接口的异常处置方式,如失败的数据是否重发、重发次数等等。

在之前的产物设计过程中,还泛起过配合系统双方的产物司理为了谁应该来写接口文档而争执过。厥后定了一套尺度,小我私家认为是对照合理的,供人人参考:

原则1:一样平常是由数据的需求方来编写接口需求文档。

原则2:若是该接口是一个分发接口,则由数据的提供方来编写接口需求文档。

 

总结:

好了,说到这里,已经把我小我私家这些年事情中所接触到的API接口简朴先容了一下。由于本人一直是做后端产物司理,因此对于前端的接口涉猎不多,不领会差异有多大,以上内容仅供后端产物司理参考,也希望人人能够对文中的一些错误实时指正。

另外,作为一名大数据的产物司理,大数据若何行使接口对外提供服务?后续总结出自己的一套方法论后再分享。

泉源:博客,迎接分享本文!

作者: admin

相关推荐

友情链接