API_仪器控网关 - 17kong/yiqikong-wiki GitHub Wiki
公用协议即在没有进行APP认证时可以调用的协议 APP的所有请求必须在HEADER中增加当前客户端版本
{
'HEADER': {
'x-friday-version': '1.0'
}
}验证通过: 返回请求资源各自的结果(例如请求/gateway/auth, 返回/auth的结果)
验证不通过: Friday 版本过低, 请移步商店进行更新, 否则无法继续使用!
{
'HEADER': {
// 可以置空
},
'BODY': {
'username': 'genee'
'password': 'Az123456'
}
}{
"tokenStr": "8f722c80-4a9f-11e8-be92-0d3d9f1b1128",
"userId": 1,
"exp": "2018-5-5 12:49:40",
"rest": [
{
// 待扩展
"id": 1,
"email": "12@1"
}
]
}path: /signup
{
'HEADER': {
// 可以置空
},
'BODY': {
'email': '[email protected]',
'code': 'qwer',
'password': 'Az123456'
}
}{
// 见yiqikong-user文档
}即只有确定进行了正常的验证并通过后才可以进行调用的协议 目前特指人员登录后(携带Token)
所有dispatch请求都需携带header: token、route、method
- req.method == GET
- req.path == http://127.0.0.1/sample/12?foo=bar
{
'HEADER': {
'token': 'f905a680-4aa0-11e8-8719-f5dd055e4e60',
'route': 'sample', // 配置的仪器控微服务[user|directory|sample|reserv|approve]
'method': 'http' // 默认http转发,如需直接放入消息队列,写beanstalk
},
'BODY': {
...balabala
}
}{
'HEADER': {
'route': 'sample', // 配置的仪器控微服务[user|directory|sample|reserv|approve]
'method': 'http' // 默认http转发,如需直接放入消息队列,写beanstalk
},
'BODY': {
// 具体字段见yiqikong-sample文档,此结构仅是示例
1: {
sampleId: 12,
equipmentId: 3,
senderId: 2
description: '送样预约'
}
}
}- 若HTTP HEADER中,指定method为beanstalk,Gateway将根据配置将body序列化后,放入指定tube
例如上述请求,yiqikong-sample从beanstalkd-sample-tube中取出的数据结构,json_decode后如下:
{
'method': 'GET',
'path': '/sample/12?foo=bar',
'body': {
...balabala
}
}
}- path: /gateway/user/
{
... any
}
{
"tokenStr": "f6de5680-4a9c-11e8-ad06-c1f15faef7b2",
"userId": "1",
"exp": "2018-5-5 12:31:05",
"rest": []
}- path: /refresh_token
{
'HEADER': {
'refreshToken': '123'
'imei': '12'
'userId': '1'
},
'BODY': {
// 可以置空
}
}{
"tokenStr": "f6de5680-4a9c-11e8-ad06-c1f15faef7b2",
"userId": "1",
"exp": "2018-5-5 12:31:05",
"rest": []
}需在config/app.js中配置router
需在config/app.js中配置testMode
该错误均会采用标准的HTTP Error格式即包含Code和Message的形式