一、约定说明¶
1.1 参数说明¶
参数位置:本框架规定了所有请求时,参数所配置的位置说明:
- query: 参数位置在?后面:http://www.domain.com/path?{name}={value}
- form-data: 参数位置在body里,以multipart/form-data方式提交。通常表现为json格式
- www-form: 参数位置在body里,以multipart/x-www-form-urlencoded方式提交。通常为表单键值对格式
- file: 参数位置在body里,以multipart/form-data方式提交,常用户上传数据
- raw:不建议
- binary:不建议
参数值类型:在设置schema.yml时,指定type的值允许是以下几种之一
- int: 整形
- float: 浮点型
- str: 字符串
- json: json串
- file: 上传文件
1.2 headers¶
API请求时,需要提供请求头
headers:
{
"uid": 用户uid, int, 注册成功、登录成功后返回
"token": 授权码, str, 注册成功、登录成功后返回
"locale": "cn",
"lang": "",
"version": "", 默认 1.0
"bundle": "",
"platform": 0 IOS, 1 Android
"os": "",
"device_id": ""
}
1.3 API 返回结果¶
所有http_status响应值为200的请求,仅代表本次HTTP请求响应成功。 返回以下2种结果之一:
- 当error=0时,代表应用服务器处理成功,客户端可以正常处理data
- 当error!=0时,代表应用服务器处理失败,error即为对应的异常码。
- msg:字段为本次请求的提示信息
- data:为本次请求返回的数据
result:
成功:{"error": 0, "msg": msg, "data": {}}
失败:{"error": 1, "msg": msg, "data": {}}
1.4 双向校验码seq生成¶
部分防刷接口需要提供参数seq,生成方法如下
salt:写死在客户端
例如:
params={"nickname": "阿刘", "age": "111", "timestamp": 1473761433}
上述2个参数value 均为 utf-8 编码, 根据key的字典顺序排序 键和值之间用"="连接 键值对之间用"&"连接,
生成待校验的字符串string, string 与 salt 字符串 拼接,计算校验码:
seq = md5(salt + "nickname=阿刘&age=111×tamp=1473761433")
注:凡需要传seq的接口,必须同时提供请求时间戳参数:timestamp
1.5 翻页码规则:仅支持查看下一页,不支持跳页¶
参数名:last_id,由服务器返回。客户端可以在请求列表时,回传给服务端,
1、当不提供该参数时,代表查看第一页
2、当服务端返回last_id=-1时,代表没有下一页了
1.6 域名配置¶
api:http://api.domain.com admin 接口:http://xx.domain.com docs文档:http://docs.domain.com