API设计标准

论坛 期权论坛 脚本     
已经匿名di用户   2022-7-2 21:49   2139   0

API是两个系统之间交互的协议,在设计时需充分考虑清楚服务请求方和服务提供方的场景。

对外API是系统对API用户提供的服务,需要考虑到API用户的使用特点。本文提出了针对API用户的设计标准,作为参考。

设计要点

API设计时需要考虑以下方面:灵活性、一致性、兼容性

  1. 灵活性,API用户使用程序调用接口,因此一个接口应该尽可能满足多种场景,减少限制;
  2. 一致性,API用户学习接口有成本,因此不同的接口之间的术语和逻辑尽可能保持一致;
  3. 兼容性,API用户的程序修改起来有成本,因此每次接口的更新需要保持向前兼容(即兼容旧版本)。

Rest接口设计

设计输出

Rest接口设计输出需包含以下完整内容

  • 描述
  • 方法:如 GET, POST
  • 路径:如 /market/kline
  • 请求参数:请求参数需要包括如下字段:
    • 名称
    • 数据类型
    • 是否必需
    • 默认值(如果不必需)
    • 说明
  • 限频:如 10次/2秒
  • 返回数据:返回数据需要包括如下字段
    • 名称
    • 数据类型
    • 说明
  • 返回错误码:返回错误码需要包括如下字段:
    • 错误码
    • 说明

示例

获取商品信息
此接口返回指定的商品信息。

限频:10秒/2次
请求路径:GET /market/depth
请求参数

名称类型是否必需默认值说明
symbolstring交易对
depthint20返回的深度梳理
sizestringstep0深度价格的聚和度: [step0, step1, step2, step3, step4, step5]

返回数据

名称类型描述
tslong调整为新加坡时间的时间戳,单位毫秒
bidsobject当前的所有买单 [price, size]
asksobject当前的所有卖单 [price, size]

返回错误码

错误码错误消息说明
invalid-parameterinvalid symbol无效的交易对
invalid-parameterinvalid period请求K线,period参数错误
invalid-parameterinvalid depth深度depth参数错误
invalid-parameterinvalid type深度type 参数错误
invalid-parameterinvalid sizesize参数错误
invalid-parameterinvalid size,valid range: [1, 2000]size参数错误
invalid-parameterrequest timeout请求超时
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP