Origin X Documentation

天行有常,不为尧存,不为桀亡。——荀子《天论》

基本接口说明

Ox的基本接口遵循 Zero 的接口规范,本文用于说明整个平台统一的接口基础规范,为公开性文档。

1. 统一术语

术语 默认值 说明
HOST 部署服务器的IP地址或域名
PORT 6083 部署服务器的默认调用端口
ADDR 接口的地址名称,请求相对路径
PATH 接口除开 HOST 和 PORT 的全路径

2. 基本设计原则

3. 统一请求说明

3.1. HTTP头

头名称 必须/满足条件必须
Content-Type Required application/json
X-Sigma Conditional 多租户必须
X-AppId Conditional 多应用必须
X-AppKey Conditional 应用敏感数据必须
X-Lang Conditional 多语言必须

3.2. 统一响应格式

Ox平台的统一响应格式参考Zero的RESTful设计规范,基本响应格式如下:

{
    "data": "(可支持多种格式)",
    "metadata": "(保留,终端抽象层)",
    "extension": "(保留,终端扩展层)",
    "resolver": "(保留,终端适配层)"
}

目前的版本中,大部分请求不包含 metadata,extension,resolver 节点。

参数 说明
data data为异构数据格式,常见的数据类型包含三大类:Json对象、Json数组、基本数据格式。
metadata 保留
extension 保留
resolver 保留

3.3. 统一异常格式

异常发生时,HTTP状态代码不会使用 200 或 201 的代码,不同状态代码会标识容器内部不同的异常信息,该代码主要包含:4xx 和 5xx,遵循标准HTTP应用层协议规范。

  1. 4xx:客户端异常
  2. 5xx:服务端异常

Ox平台的统一异常格式参考 Zero 的RESTful设计规范,基本格式如下:

{
    "code": -1,
    "message": "(系统异常)",
    "info": "(业务异常)"
}
参数 说明
code 格式为负数5位、或者负数6位,5位是原生Zero框架内部定义,6位是扩展定义,内部错误代码,可直接在错误代码表中查询错误来源。
message 系统异常信息,一般为 Java Stack 信息,可帮助开发人员调试接口。
info (可选)业务异常信息,一般提供给终端消费,不同的终端需要的异常信息有所不同,如:“用户名密码错。”,“账号不存在。”。