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