2026-06-07 02:10:33
一、接口基本概念
API(Application Programming Interface),即应用程序接口,是提供特定业务输出能力、连接不同系统的一种约定。它涵盖了外部系统与提供服务的系统(中后台系统)或后台不同系统之间的交互点,包括外部接口和内部接口(上层服务与下层服务接口、同级接口)。
二、接口请求方式类型
GET类型接口:
格式:请求参数写在网址后面,用"?"连接,多个参数之间用"&"连接。
场景:用于获取信息,多用于查询数据,如菜单列表展示、搜索展示、订单查询、优惠券查询等。请求数据量较小,返回速度快,但接口暴露在外,存在风险。
POST类型接口:
说明:向指定资源位置提交数据(如提交表单、上传文件)来进行请求,可能导致新资源的建立。
场景:如注册、上传、发帖等功能,请求数据量大,安全性要求高。
其他接口类型如PUT(改)、DELETE(删)、PATCH等使用频率稍低。
三、接口响应机制类型
同步交互:
定义:发送一个请求,需要等待返回后才能发送下一个请求。
场景:如登录接口,执行登录操作时,将用户名、密码、token等字段加密后通过接口校验,需要返回验证结果后才能登录成功。
异步交互:
定义:发送一个请求,不需要等待返回,随时可以再发送下一个请求。
场景:如用户领取优惠券,只需要将用户的领券行为请求成功,资产系统收到请求后异步操作用户发券,调用方无须等待每个请求的调用结果。
四、接口的触发形式类型
分发接口:
定义:一个系统产生新数据时就分发给其他系统(也可以是多个)。
场景:如主渠道系统管理所有渠道数据,渠道数据是其他系统如商品系统、促销系统经常要使用的信息。一旦出现新的渠道或发生渠道变更,需要分发给其他所有对接系统。
订阅接口:
定义:一个系统在需要的时候调用其他系统的接口进行数据订阅。
场景:如订单系统生成订单时,很多外部系统可能需要及时获取订单状态信息。订单系统不知道要分发给哪些系统,一般会将订单推送至特定的消息队列(如KFK),其他需要跟进订单状态的系统订阅KFK消息后,可以即时获取订单完成信息。
五、API接口基本组成(以微信支付API为例)

入参:接口请求所需要的变量参数,包括必填参数和非必填参数。非必填参数并非可以忽略,如签名类型未传则默认MD5,若使用的非此类签名类型则必填。
出参:接口返回的结果数据。



六、接口安全性校验
请求来源合法性校验:
引入“签名”概念,确保请求来源合法且不可否认。
使用https替换http接口,提高证书安全性。
数据加密:
请求数据及返回数据需要加密,防止被恶意截取。
常见的加密方法包括DES、3DES、RSA等。
使用token加密用户信息,确保请求数据的安全性。
防重放攻击:
在请求参数加上时间戳+随机数,通过时间戳确保接口是最新的请求,随机数相同则认定为重放攻击。
七、接口性能相关
TPS(Transaction Per Second):每秒系统处理的交易或事物的数量,衡量系统处理能力的重要指标。
RT(响应时间):从客户端发送请求到接收到服务器返回结果所经历的时间,包括请求发送时间、网络传输时间和服务器处理时间。
吞吐量:性能测试过程中网络上传输的数据量总和。
性能要求:
响应时间需控制在合理范围内,一般不超过5s。
TPS需满足高并发需求,通过压力测试验证接口在高并发下的稳定性。
八、接口测试
入参验证:入参不符合要求时,需要有明确的错误码、报错信息和日志,方便问题复现与定位。
参数处理逻辑验证:如购买会员时,订单生成后会去权益系统加权,加权成功后会有短信通知用户。需要验证加权接口和订单信息中虽无用户手机号,但能根据username查询手机号并执行短信发放操作。
其他测试目标:代码覆盖率、性能指标、安全指标等也是重要的测试指标。