api接口文档

  • Post author:
  • Post category:其他

接口规范

请求格式

  • get请求
GET API_URL?params
  • post
POST API_URL
{
    body
}
  • put
PUT API_URL
{
    body
}
  • delete
DELETE API_URL?params

响应格式

Content-Type: application/json;charset=UTF-8

{
    code: xxx,
    message: xxx,
    data: {...}
}

code为错误码, message为错误信息

错误码

  • 4xx:客户端错误,请求包含语法错误或者请求无法实现
  • 5xx:服务器错误,服务器不能实现一种明显无效的请求

Token

前后端采用token验证身份, 权限鉴定过程如下:

  1. 前端携带账号和密码访问登陆api
  2. 访问成功后会收到后端响应的个人信息和token, 前端将token保存在本地.
  3. 请求其他api时, 必须采用自定义的头部携带此token访问
  4. 后端验证token, 成功则返回对应数据.(token有效时间为1个月)
  • 登陆api:
POST /login
{
	"username": "user123",
    "password": "user123"
 }

登陆成功后, 后端返回以下信息:

 {
  "code": 0,
  "data": {
    "userInfo": {
      "username": "user123",
      "gender":1,
      "birthday":"2020.11.15",
      "height":170,
      "weight":65,
      "diabetes":1,
      "diagnosis_time":"2020.11.15",
      "diabetes_type":1,
      "complication":"糖尿病肾病"
    },
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0aGlzIGlzIGxpdGVtYWxsIHRva2VuIiwiYXVkIjoiTUlOSUFQUCIsImlzcyI6IkxJVEVNQUxMIiwiZXhwIjoxNTU3MzI2ODUwLCJ1c2VySWQiOjEsImlhdCI6MTU1NzMxOTY1MH0.XP0TuhupV_ttQsCr1KTaPZVlTbVzVOcnq_K0kXdbri0"
  },
  "message": "成功"
}  
  • 访问受过滤的接口时, 要在headers中携带token
 ACCESS_TOKEN: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0aGlzIGlzIGxpdGVtYWxsIHRva2VuIiwiYXVkIjoiTUlOSUFQUCIsImlzcyI6IkxJVEVNQUxMIiwiZXhwIjoxNTU3MzI2ODUwLCJ1c2VySWQiOjEsImlhdCI6MTU1NzMxOTY1MH0.XP0TuhupV_ttQsCr1KTaPZVlTbVzVOcnq_K0kXdbri0
  • 登出api
POST /logout

需在headers中携带token

API列表

上传测量数据

  • URL:
    POST /data
  • 请求数据:
{
	"data": 光强值
}
  • 返回数据:
参数名 类型 说明
blood_data float 计算得血糖值
data_change float 血糖值与上次测量结果变化
healthy_condition string 健康状况
healthy_advice string 建议
  • 返回示例:
{
    "code" : 200,
    "message" : "操作成功",
    "data" : {
		"blood_data": 5.0,
		"data_change":0.5, 
		"healthy_condition ":"健康",
		"healthy_advice" : "建议增加运动"
	}
}

获取最近健康数据

  • URL:
    GET /data?mode="..."
  • 请求参数:
参数名 类型 说明
mode string 请求方式, mouth, week或quarter
  • 返回数据:
参数名 类型 说明
blood_data list<float> 一定时间内内血糖值
valid_num int 一定时间内内测量数据有效天数
healthy_condition string 健康状况
healthy_advice string 建议
  • 返回示例:
{
    "code" : 200,
    "message" : "操作成功",
    "data" : {
		"blood_data": [5.0,5.0,...],
		"valid_num": 13,
		"healthy_condition ":"健康",
		"healthy_advice" : "建议增加运动"
	}
}

获取健康资讯

  • URL:
    GET /tips

修改/完善个人信息

  • URL:
    PUT /users
  • 请求数据:
{
       "username": "newusername",
       "gender":1,
       "birthday":"2020.11.15",
       "height":170,
       "weight":65,
       "diabetes":1,
       "diagnosis_time":"2020.11.15",
       "diabetes_type":1,
       "complication":"糖尿病肾病"
}
  • 返回示例
  {
   "code": 0,
   "data": {
     "userInfo": {
       "username": "newusername",
       "gender":1,
       "birthday":"2020.11.15",
       "height":170,
       "weight":65,
       "diabetes":1,
       "diagnosis_time":"2020.11.15",
       "diabetes_type":1,
       "complication":"糖尿病肾病"
     },
   "message": "成功"
 }  

用户注册

用户注册后自动登录, 后端一并返回token

  • url:
    POST /users
  • 请求数据:
{
    "username": "username",
	"password": "12345"
}
  • 返回示例:
 {
  "code": 0,
  "message": "注册成功",
  "data": {
   "token": "..."
   }
}  

验证码服务

发送验证码

  • url:
    POST /sendsms
  • 参数列表:
参数名 类型 说明
mobile string 手机号
  • 返回示例:
 {
  "code": 200,
  "message": "发送成功",
}  

校验验证码

  • url:
    POST /verifysms
  • 参数列表:
参数名 类型 说明
code string 用户填写的验证码
  • 返回示例:
 {
  "code": 200,
  "message": "发送成功",
  "token":...
}  

版权声明:本文为weixin_45883559原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。