API JSON 规范
传输协议
HTTP 或 HTTPS
HTTP支持版本 1.1
参数、返回值类型
整数:没有特殊说明均为64位
字符串:不定长
请求
URL
schema://domain/module-name/sub-location/api-name
schema HTTP 或 HTTPS
domain xserver的IP或域名
module-name 该 api 接口所属的模块名
sub-location 该 api 在该模块的路径前缀
api-name api 名字
Headers
Cookie: token=fgKCuRA6RBg 可以使用 Cookie 传递某些参数,建议只在浏览器环境中使用
X-Device: xxx 可选,客户端设备名。 安卓为:Android iPhone为:iPhone PC客户端为:PC WEB端为:WEB
Body
使用 JSON 编码的请求参数,形式如下:
{"param1": "value1", "param2": "value2"}
具体参数名称和值跟据具体 API 而定
例外情况:
进行二进制数据上传的接口(如文件上传)
参数置于 URL-QueryString 中
Request Body 为上传文件的二进制数据
二进制数据长度置于 Header 的 Content-Length 字段
返回
Status
总是 200
例外情况:
Web 服务器异常返回 500
(接口调用产生的逻辑错误通过 Json 返回)
Headers
RequestId:请求ID
Set-Cookie:设置 Cookie,浏览器环境中使用
Body
使用 JSON 编码的返回结果,形式如下:
{"stat": "OK", "return-value1": "value1", "return-value2": "value2"}
stat 字段为接口调用的返回结果,因不同 API 而定。
例外情况:
返回二进制数据的接口(如文件下载)
接口调用产生的逻辑错误通过 HTTP Status 返回
400:参数错误
403:没有权限
404:对象没有找到
500:其它错误
Content-Length 返回头标识返回二进制数据的长度
Response Body 为二进制数据
通用错误码
OK
成功
ERR_BAD_PARAMS
参数错误
ERR_SERVER_EXCEPTION
服务器内部错误
ERR_FORBIDDEN
没有权限,禁止访问
ERR_USER_NOT_LOGIN
用户没有登录
ERR_TOKEN_NOT_FOUND
找不到token信息
ERR_TOKEN_EXPIRED
token过期
发生错误返回时,可以检查返回的 json 中是否有 errText 字段,errText 用于描述发生此错误时,建议向用户界面展现的文字。
开发调试辅助工具
使用 curl 进行接口请求返回查看
使用 chrome 浏览器的 development tools
使用 chrome 的 fe-helper 插件
Last updated