超全API接口知识小结

超全API接口知识小结
最新回答
西雅图很忙°

2026-06-07 02:10:33

超全API接口知识小结

一、接口基本概念

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查询手机号并执行短信发放操作。

  • 其他测试目标:代码覆盖率、性能指标、安全指标等也是重要的测试指标。