device-docking/爱牵挂/爱牵挂M1对外API/intro.md
2023-12-20 11:07:38 +08:00

4.7 KiB
Executable File
Raw Blame History

API概述

目录

请求格式

GET

GET请求时参数必须放在URL中

> GET /api/posturedata/?device=466970701492096 HTTP/1.1
> Host: 203.195.166.239:8888
> Accept: */*

POST

POST命令参数可放在URL也可放在BODY中

> POST /api/account/login HTTP/1.1
> Host: 203.195.166.239:8888
> Accept: */*
> Content-Length: 29
> Content-Type: application/x-www-form-urlencoded
> para1=value1&para2=value2

对象输出参数

分页参数

当返回对象列表时,可以对列表进行分页

名称 必须 类型 说明
page int 页数1~N缺省1
rows_per_page int 每页行数缺省20

嵌套参数

返回对象中有引用类型Reference的属性时可以将被引用的对象嵌套到返回中。

- 原属性输出为ObjectID方式
- 新增一个以$开头的属性,形如"$[attr_name]", 其中attr_name为原属性名其内容是完整的json对象。
名称 必须 类型 说明
depth int 嵌套层数(1-4)缺省2

简化参数

输出简化后的对象只包含特定的属性。必须在定义对象时指出简化对象包含哪些属性如未指定则输出对象的前10个属性。

名称 必须 类型 说明
small int 1-完整0-简化。缺省为1

排序参数

当返回对象列表时,可以对列表进行排序。指定按哪几个属性进行排序。

名称 必须 类型 说明
order_by string 需要排序的属性名, 逆序用'-', 多个属性用','连接。如:'order_by=email,-username'表示先按email字典序然后按username逆序

响应格式

返回内容统一是json格式。

返回单个对象

当返回单个对象时,返回格式。 范例:

    {
      "success": true,                            // 成功标志
      "obj_name": "obj name",                     // 对象名
      "obj": {"key1":"val1", "key2":"val2", ...}  // 返回的对象内容
    }

返回多个对象

当返回多个对象时,返回格式。范例:

    {
      "success": true,                            // 成功标志
      "obj_name": "obj name",                     // 对象名
      "objs": [{obj1}, {obj2}, ...]               // 对象列表
      "page": {                                   // 分页信息
          "rows_per_page": intval                 // 每页行数
          "total": intval,                        // 总数
          "page_count": intval,                   // 分页数
          "page_current": intval,                 // 当前页号 
      }
    }

返回失败

失败时返回错误码和出错信息。 范例:

    {
      "success": false,                            // 成功标志
      "error_code": 1,                             // 错误码
      "error_desc": "error description",           // 错误描述 
      "error_url": "/api/account/login",           // 错误URL 
    }

错误码定义

返回码 错误信息 说明
0 成功
1 错误
101 未授权 需登录
102 没有操作权限 没有相应的操作权限,不需重新登录
103 用户不存在
104 用户已存在
105 登录验证失败
106 设备不在线
201 缺少必填参数
202 参数格式错误
203 对象不存在
204 参数取值错误
301 数据库错误
302 数据唯一性错误
401 数据同步失败
999 其它错误