No.1
接口请求方式类型
常见的http请求方式包括:get(查)、post(增),除此之外还有put(改)、delete(删)等。接口所属类型是由业务决定的。比如你打开淘宝,展示的首页内容就需要用到get接口,获取页面信息,你看中了宝贝要下单,添加你的收获地址时,用的则是post接口。而这两种也是其中最常见的两种接口类型
1)get类型接口
格式:请求数参数写在网址后面,用”?”连接,多个参数之间用”&”连接。
场景:get型接口用于获取信息,多用于查询数据,如菜单列表展示,搜索展示,订单查询,优惠券查询等需要其他系统返回数据时使用。一般情况下请求的数据量较小,返回速度快,不过接口是暴露在外面的,所以会有一定的风险。
2)post型接口
说明:向指定资源位置提交数据(如提交表单、上传文件)来进行请求,post请求可能会导致新资源的建立。
场景:如注册、上传、发帖等功能,这种请求数据量大,安全性要求高。
其他接口类型如put(改)、delete(删)、patch等使用频率稍低一些,此处不再赘述。
No.2
接口响应机制类型
从返回上区分,分为同步接口、异步接口
1)同步交互
指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;
比如登录接口,执行登录操作时,将用户名、密码、token等字段加密后通过接口校验,需要返回验证结果后,才能登录成功。
2)异步交互
指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。
如用户领导优惠券,只需要将用户的领券行为请求成功,资产系统收到请求后异步操作用户发券,通过异步的方法执行发券,调用方无须等待每个请求的调用结果。
区别:一个需要等待,一个不需要等待,在不影响用户体验的情况下,我们的项目开发中一般会优先选择不需要等待的异步交互方式。
哪些情况建议使用同步交互呢?比如用户登录、银行的转账系统,对数据库的保存操作等等,都会使用同步交互操作,其余情况都优先使用异步交互。
No.3
接口的触发形式类型
1)分发接口
一个系统产生新数据的时候就分发给其它系统(也可以是多个)。
中台系统的核心思想是高内聚、低耦合,所以分发接口的使用场景还是比较多的。比如有一个主渠道系统来管理所有的渠道数据,而渠道数据是其他系统如商品系统、促销系统经常要使用到的信息。所以一旦出现新的渠道或者发生渠道变更,需要分发给其他所有对接了各个系统,实现对最新渠道的功能支撑。
2)订阅接口
一个系统在需要的时候调用其他系统的接口进行数据订阅。
比如订单系统生成订单时,因为很多外部系统可能需要及时获取订单状态信息。而订单系统也不知道要分发给哪些系统,这时候一般会将订单推送至特定的消息队列,比如KFK,其他由需要跟进订单状态的的系统订阅KFK消息后,可以即使获取订单完成信息,进行触发下一个动作。
No.4
其他API接口基本组成
在既定的业务下,接口请求类型、响应机制等确定后,再以微信支付API为例,了解下接口的其他组成内容。
1)应用场景
顾名思义,此接口适用于的场景,明确接口的业务用途。