Skip to content

API

1. 接口地址

  • 接口地址应当遵循以下风格

  • 协议 + 域名 + 端口 / 版本号 / 模块 / 动作 / 操作

  • 尽量不使用 中横线下划线

  • 例如:

    请求地址:http://xxx/v1/standard/get/apiRules

    请求方式:GET

    描述:获取v1版本中规范模块的api规则列表

2. 请求头

  • Content-Type: application/json JSON 格式交互

  • Authorization: Bearer Token Token 验证

  • 如有其他请自行添加

3. 请求方式

  • GET (SELECT):从服务器检索特定资源,或资源列表。

  • POST (CREATE):在服务器上创建一个新的资源。

  • PUT (UPDATE):更新服务器上的资源,提供整个资源。

  • PATCH (UPDATE):更新服务器上的资源,仅提供更改的属性。

  • DELETE (DELETE):从服务器删除资源。

  • 注意:一般情况只使用 GETPOST 方式进行请求

4. 前后端交互

  • 前后端统一使用 JSON 格式进行交互

  • 返回给前端数据统一使用 小驼峰 命名规则

  • 数据格式如下:

tsx
{
  code: "200"
  msg: "请求成功",
  data: {
    apiRules: [
      {
        name: '是否允许使用GET请求',
        value: true
      },
      {
        name: '是否允许使用POST请求',
        value: true
      },
      {
        name: '是否允许使用DELETE请求',
        value: false
      }
    ]
  }
}
  • 注意: 一般情况如果数据为空的话,根据字段的数据类型来进行返回
tsx
{
  code: "200"
  msg: "请求成功",
  data: {
    apiRules: []
  }
}
  • 如果某些 语言 or 框架 处理不了 Boolean 类型的数据可以换成 0 or 1 , 但是建议使用 Boolean 增强语义

5. 状态码

  • 可以自行约定状态码的寓意,如高德SDK状态码
响应码状态描述问题排查策略
1000请求正常服务调用正常,有结果返回
1001开发者签名未通过1.开发者在Key控制台中,开启了“数字签名”功能,但没有按照指定算法生成“数字签名”,现阶段发生在Web服务API和智能硬件定位的Key
1002用户Key不正确或过期1.目前网站现有产品,仅支持2014年9月23日之后申请的Key2.对照开发指南配置功能,检查Key添加是否正确。
1003没有权限使用相应的接口开发者没有权限使用相应的服务,例如:开发者申请了Web定位功能的Key,却使用该Key访问逆地理编码功能时,就会返回该错误。反之亦然。
.........
  • 也可以使用 HTTP 状态码
分类分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误

具体约定参考如下:

状态码描述
200成功
400失败 - 用作提示 - 不操作
401token 过期
402重复登录
500服务器错误