接口规范文档

一 前言

本系统采用 swagger 作为文档的基础

二 登陆

本系统登陆需要3部 

1 需要调用图形验证码接口 调用时需要向图形验证码接口发送 uuid 

2 需要将图形验证码 和 uuid 用户名密码 一同发送到登陆接口 /login

3 登陆成功后 /login 返回access_token 和 当前登陆用户数据

三 权限

所有接口遵循的规则为

/public/ 开头的接口为公开接口 不需要权限可以直接访问

/api/ 开头的接口为需要权限访问的接口 

访问/api/开头的接口时 需要在请求的header中携带登陆时获取的access_token

例子如下

Authorization:bearea c9290bf64e2704e499c0987e42261e53

其中 Authorization 为key 

其中 bearea c9290bf64e2704e499c0987e42261e53 为值 [bearea中间有空格]

四 返回数据

接口返回的响应格式完全一致 格式如下

{
    success:true //服务器返回正确还是错误

    code:900  //此处code为特殊逻辑 不常用 不能代表服务器返回状态

    data:{} //需要获取数据的接口 数据会放到 data中

    msg:""  //当提交成功,或者出现错误时,这里会打印信息

    timestamp:1256556666 //时间戳信息

}

五 请求数据

请求数据时 如果需要提交实体, 在Swagger中即可看到需要提交的数据结构

当使用get请求时 请求需要的描述,  具体调用方法在Swagger中的描述中

六 CURD接口

这里提到了很多CURD接口 完全符合resful规范

查询 采用GET方式  获取单条数据 需要将接口路径中的{id} 替换成实际ID

删除采用 DELETE方式 删除单条数据 需要将接口路径中的{id} 替换成实际ID

更新采用 PUT方式

新建 采用POST方式

七  分页与排序

分页与排序统一封装在了系统中, 在文档中看不到, 默认的resful接口 获取列表的方法都支持分页

分页接口有三个参数

page:需要查看第几页 默认为0 

size:每页需要显示几行数据 默认为10

翻页例子如下

/api/user?page=1&size=100

sort:排序例子如下

sort=id desc&sort=time asc

该接口的解释为 使用id倒序 和 时间正序的方式

翻页返回数据如下

"total": 2, 总数
"size": 2, 每页大小
"current": 1, 当前页面
"searchCount": true, 
"pages": 1 总页数


八 客户端版本控制

我们并没有在当前版本支持 客户端的版本控制和约束 

但是可能在下个版本开始支持

版本控制也需要请求头header中增加一些参数

version: 当前软件版本号

system: 当前软件操作系统

九 前端表单验证

Type
Indicates the type of validator to use. Recognised type values are:

string: Must be of type string. This is the default type.
number: Must be of type number.
boolean: Must be of type boolean.
method: Must be of type function.
regexp: Must be an instance of RegExp or a string that does not generate an exception when creating a new RegExp.
integer: Must be of type number and an integer.
float: Must be of type number and a floating point number.
array: Must be an array as determined by Array.isArray.
object: Must be of type object and not Array.isArray.
enum: Value must exist in the enum.
date: Value must be valid as determined by Date
url: Must be of type url.
hex: Must be of type hex.
email: Must be of type email.

选择类表单注意事项

https://blog.csdn.net/winnershili/article/details/90269408

九, 微信小程序 调用接口示例

//GET
app.api.get('/public/area/getByPid',{params:{pid:37,id:100}}).then(res => {
    console.info(res);
})
//POST
app.api.post('/public/area', { name: 'admin',sex:1 }).then(res => {
    console.info(res);
})

//PUT
app.api.put('/public/sys_area', { name: 'admin', sex: 2 }).then(res => {
    console.info(res);
})

//REMOVE
app.api.remove('/public/sys_area', { params: { id:100 } }).then(res => {
    console.info(res);
})

十, AdminLTE控制tab页面

top.show_new_page('id','标题','想要打开的页面地址')
这个方法将会在当前tab的右侧 打开一个新的tab, 
第一参数id为tab的id 这个id的作用是 不会重复打开id相同的页面,
第二参数为tab显示的文本
第三参数为tab对应的地址

top.close_current_page()
会关闭当前正在使用的tab页面 

猜你喜欢

转载自blog.csdn.net/winnershili/article/details/89976911