1. 电商管理后台 API 接口文档
本文基础结构来源于“黑马程序员课程–‘VUE全家桶’中,所使用的后端API文档,原课程中使用的时Node.js的项目,楼主在将其使用SpringBoot重新构建之后,编写了如下接口文档,重构的源码,将会在后期给出,重构的教程,我会在后期整理成一篇,SpringBoot开发API接口的系列教程。希望对初学者能够有所帮助。”
Swagger2 API文档地址
码云源码地址
1.1. API V1 接口说明
- 接口基准地址:
http://127.0.0.1:8081/api/
- 服务端已开启 CORS 跨域支持
- API 认证统一使用 Token 认证
- 需要授权的 API ,必须在请求头中使用
token
字段提供 token
令牌 - 使用 HTTP Status Code 标识状态
- 数据返回格式统一使用 JSON
1.1.1. 支持的请求方法
- GET(SELECT):从服务器取出资源(一项或多项)。
- POST(CREATE):在服务器新建一个资源。
1.1.2. 通用返回状态说明
状态码 | 含义 | 说明 |
---|
101 | 无token,请登录后操作! | |
102 | 用户不存在,请重新登录! | |
200 | 请求成功 | |
201 | 创建成功 | |
202 | 创建失败 | |
203 | 修改成功 | |
204 | 修改失败 | |
205 | 删除成功 | |
206 | 删除失败 | |
207 | 查询成功 | |
208 | 查询失败 | |
400 | 请求的地址不存在或者包含不支持的参数 | |
401 | 未授权 | |
403 | 被禁止访问 | |
404 | 请求的资源不存在 | |
500 | 内部错误 | |
| | |
1.2. 登录
1.2.1. 登录验证接口
- 请求路径:mg_login
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
mgName | 用户名 | 不能为空 |
mgPwd | 密码 | 不能为空 |
参数名 | 参数说明 | 备注 |
---|
mgId | 用户 ID | |
roleId | 用户角色 ID | |
mgName | 用户名 | |
mgMobile | 手机号 | |
mgEmail | 邮箱 | |
token | 令牌 | 基于 jwt 的令牌 |
{
"data": {
"total": 6,
"list": [
{
"mgId": 500,
"mgName": "admin",
"mgPwd": "$2y$10$sZlpZNoLAnoD1DtYO9REAODCPkpMb5bwl4oMzrMvJa83k9BY3KRwq",
"mgTime": 1486720211,
"roleId": 0,
"mgMobile": "18088083365",
"mgEmail": "adsfad@qq.com",
"mgState": 1
}
],
"pageNum": 1,
"pageSize": 1
},
"meta": {
"msg": "请求成功!",
"status": 200
}
}
1.3. 用户管理
1.3.1. 用户数据列表
- 请求路径:/manager/getByParam
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
mgName | 查询参数 | 可以为空 |
pageNum | 当前页码 | 不能为空 |
pageSize | 每页显示条数 | 不能为空 |
参数名 | 参数说明 | 备注 |
---|
total | 总记录数 | |
pageNum | 当前页码 | |
list | 用户数据集合 | |
{
"data": {
"total": 1,
"list": [
{
"mgId": 511,
"mgName": "test",
"mgPwd": "test",
"mgTime": 1,
"roleId": 0,
"mgMobile": "1",
"mgEmail": "1",
"mgState": 1
}
],
"pageNum": 1,
"pageSize": 1,
"size": 1
},
"meta": {
"msg": "请求成功!",
"status": 200
}
}
1.3.2. 添加用户
- 请求路径:manager/add
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
mgName | 用户名称 | 不能为空 |
mgPwd | 用户密码 | 不能为空 |
mgEmail | 邮箱 | 可以为空 |
mgMobile | 手机号 | 可以为空 |
参数名 | 参数说明 | 备注 |
---|
mgId | 用户 ID | |
roleId | 用户角色 ID | |
mgName | 用户名 | |
mgMobile | 手机号 | |
mgEmail | 邮箱 | |
{
"data": {
"mgId": 512,
"mgName": "asd",
"mgPwd": "123456",
"mgTime": "2020-02-18 14:43:28",
"roleId": null,
"mgMobile": "18088083365",
"mgEmail": "1757895437@qq.com",
"mgState": null
},
"meta": {
"msg": "请求成功!",
"status": 200
}
}
1.3.3. 修改用户状态
- 请求路径:manager/state
- 请求方法:put
- 请求参数
参数名 | 参数说明 | 备注 |
---|
mgId | 管理员ID | 不能为空携带在url中 |
mgState | 管理员状态 | 不能为空携带在url中 ,'1’为启用,‘0’为停用 |
{
"data": {
"mgId": "511",
"mgName": "test",
"mgPwd": "test",
"mgTime": "1",
"roleId": 0,
"mgMobile": "1",
"mgEmail": "1",
"mgState": 0
},
"meta": {
"msg": "修改成功",
"status": 203
}
}
1.3.4. 根据 ID 查询用户信息
- 请求路径:manager/getById
- 请求方法:get
- 请求参数
参数名 | 参数说明 | 备注 |
---|
mgId | 管理员 ID | 不能为空携带在url中 |
参数名 | 参数说明 | 备注 |
---|
mgId | 用户 ID | |
roleId | 角色 ID | |
mgMobile | 手机号 | |
mgEmail | 邮箱 | |
{
"data": {
"mgId": "511",
"mgName": "test",
"mgPwd": "test",
"mgTime": "1",
"roleId": 0,
"mgMobile": "1",
"mgEmail": "1",
"mgState": 0
},
"meta": {
"msg": "查询成功",
"status": 207
}
}
1.3.5. 编辑用户提交
- 请求路径:manager/updById
- 请求方法:put
- 请求参数
参数名 | 参数说明 | 备注 |
---|
mgId | 管理员 id | 不能为空 参数是url参数:id |
mgEmail | 邮箱 | 可以为空 |
mgMobile | 手机号 | 可以为空 |
参数名 | 参数说明 | 备注 |
---|
mgId | 用户 ID | |
roleId | 角色 ID | |
mgMobile | 手机号 | |
mgEmail | 邮箱 | |
{
"data": {
"mgId": "511",
"mgName": "test",
"mgPwd": "test",
"mgTime": "1",
"roleId": 0,
"mgMobile": "12312312312",
"mgEmail": "123@123.com",
"mgState": 0
},
"meta": {
"msg": "修改成功",
"status": 203
}
}
1.3.6. 删除单个用户
- 请求路径:manager/delById
- 请求方法:delete
- 请求参数
参数名 | 参数说明 | 备注 |
---|
mgId | 管理员id | 不能为空参数是url参数:id |
{
"data": null,
"meta": {
"msg": "删除成功",
"status": 205
}
}
1.3.7. 分配用户角色
- 请求路径:manager/updRole
- 请求方法:put
- 请求参数
参数名 | 参数说明 | 备注 |
---|
mgId | 管理员 ID | 不能为空参数是url参数:id |
roleId | 角色 id | 不能为空参数body参数 |
参数名 | 参数说明 | 备注 |
---|
mgId | 管理员 ID | |
roleId | 角色 id | |
mgMobile | 手机号 | |
mgEmail | 邮箱 | |
{
"data": {
"mgId": "c4bc207e-828a-46b4-936b-0674cb1a0f2d",
"mgName": "manager",
"mgPwd": "manager",
"mgTime": "2020-02-18 16:16:32",
"roleId": "31",
"mgMobile": "11111111111",
"mgEmail": "111@111.com",
"mgState": 1
},
"meta": {
"msg": "修改成功",
"status": 203
}
}
1.4. 权限管理
1.4.1. 所有权限列表
参数名 | 参数说明 | 备注 |
---|
type | 类型 | 值 list 或 tree , list 列表显示权限, tree 树状显示权限,参数是url参数:type |
参数名 | 参数说明 | 备注 |
---|
psId | 权限 ID | |
psName | 权限说明 | |
psLevel | 权限层级 | |
psPid | 权限父 ID | |
path | 对应访问路径 | |
{
"data": [
{
"psId": "101",
"psName": "商品管理",
"psPid": "0",
"psC": "",
"psA": "",
"psLevel": "0",
"path": "goods",
"children": null
},
{
"psId": "102",
"psName": "订单管理",
"psPid": "0",
"psC": "",
"psA": "order",
"psLevel": "0",
"path": "orders",
"children": null
}
],
"meta": {
"msg": "查询成功",
"status": 207
}
}
type=tree
{
"data": [
{
"psId": "101",
"psName": "商品管理",
"psPid": "0",
"psC": "",
"psA": "",
"psLevel": "0",
"children": [
{
"psId": "104",
"psName": "商品列表",
"psPid": "101",
"psC": "Goods",
"psA": "index",
"psLevel": "1",
"children": [
{
"psId": "105",
"psName": "添加商品",
"psPid": "104",
"psC": "Goods",
"psA": "tianjia",
"psLevel": "2",
"children": []
}
]
}
]
}
],
"meta": {
"msg": "查询成功",
"status": 207
}
}
1.4.2. 左侧菜单权限
{
"data": [
{
"psId": "101",
"psName": "商品管理",
"psPid": "0",
"psC": "",
"psA": "",
"psLevel": "0",
"path": "goods",
"children": [
{
"psId": "104",
"psName": "商品列表",
"psPid": "101",
"psC": "Goods",
"psA": "index",
"psLevel": "1",
"path": "goods",
"children": null
}
]
}
],
"meta": {
"msg": "查询成功",
"status": 207
}
}
me="t18">1.5. 角色管理
1.5.1. 角色列表
-
请求路径:roles/getRoleList
-
请求方法:get
-
响应数据说明
- 第二层开始为权限说明,权限一共有 3 层权限
- 最后一层权限,不包含
children
属性
-
响应数据
{
"data": [
{
"id": 30,
"roleName": "主管",
"roleDesc": "技术负责人",
"children": [
{
"id": 101,
"authName": "商品管理",
"path": null,
"children": [
{
"id": 104,
"authName": "商品列表",
"path": null,
"children": [
{
"id": 105,
"authName": "添加商品",
"path": null
}
]
}
]
}
]
}
],
"meta": {
"msg": "获取成功",
"status": 200
}
}
1.5.2. 添加角色
- 请求路径:roles/addRole
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
roleName | 角色名称 | 不能为空 |
roleDesc | 角色描述 | 可以为空 |
参数名 | 参数说明 | 备注 |
---|
roleId | 角色 ID | |
roleName | 角色名称 | |
roleDesc | 角色描述 | |
{
"data": {
"roleId": 40,
"roleName": "admin2",
"roleDesc": "admin2Desc"
},
"meta": {
"msg": "创建成功",
"status": 201
}
}
1.5.3. 根据 ID 查询角色
- 请求路径:roles/getById
- 请求方法:get
- 请求参数
参数名 | 参数说明 | 备注 |
---|
roleId | 角色 ID | 不能为空携带在url中 |
参数名 | 参数说明 | 备注 |
---|
roleId | 角色 ID | |
roleName | 角色名称 | |
roleDesc | 角色描述 | |
{
"data": {
"roleId": "30",
"roleName": "主管",
"psIds": "101,0,104,116,115,142,143,121,122,123,149,102,107,109,103,111,129,130,134,135,138,140,141,112,147,125,110,131,132,133,136,137,145,146,148",
"psCa": "Goods-index,Goods-tianjia,Category-index,Order-showlist,Brand-index",
"roleDesc": "技术负责人"
},
"meta": {
"msg": "查询成功",
"status": 207
}
}
1.5.4. 编辑提交角色
- 请求路径:roles/update
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
roleId | 角色 ID | 不能为空携带在url中 |
roleName | 角色名称 | 不能为空 |
roleDesc | 角色描述 | 可以为空 |
{
"data": {
"roleId": "30",
"roleName": "测试aa",
"psIds": "101,0,104,116,115,142,143,121,122,123,149,102,107,109,103,111,129,130,134,135,138,140,141,112,147,125,110,131,132,133,136,137,145,146,148",
"psCa": "Goods-index,Goods-tianjia,Category-index,Order-showlist,Brand-index",
"roleDesc": "测试"
},
"meta": {
"msg": "修改成功",
"status": 203
}
}
1.5.5. 删除角色
- 请求路径:roles/del
- 请求方法:get
- 请求参数
参数名 | 参数说明 | 备注 |
---|
roleId | 角色 ID | 不能为空携带在url中 |
{
"data": null,
"meta": {
"msg": "删除成功",
"status": 205
}
}
1.5.6. 角色授权
- 请求路径:roles/setRights
- 请求方法:post
- 请求参数:通过
请求体
发送给后端
参数名 | 参数说明 | 备注 |
---|
roleId | 角色 ID | 不能为空携带在url中 |
psIds | 权限 ID 列表(字符串) | 以 , 分割的权限 ID 列表(获取所有被选中、叶子节点的key和半选中节点的key, 包括 1,2,3级节点) |
{
"data": {
"roleId": "41",
"roleName": "dsdf",
"psIds": "105,142,101,104,115",
"psCa": null,
"roleDesc": "sf "
},
"meta": {
"msg": "修改成功",
"status": 203
}
}
1.5.7. 删除角色指定权限
-
请求路径:/roles/delRights
-
请求方法:get
-
请求参数
参数名 | 参数说明 | 备注 |
---|
roleId | 角色 ID | 不能为空携带在url中 |
rightId | 权限 ID | 不能为空携带在url中 |
-
响应数据说明
-
响应数据
{
"data": [
{
"psId": "101",
"psName": "商品管理",
"psPid": "0",
"psC": "",
"psA": "",
"psLevel": "0",
"path": null,
"children": [
{
"psId": "115",
"psName": "分类参数",
"psPid": "101",
"psC": "Type",
"psA": "index",
"psLevel": "1",
"path": null,
"children": [
{
"psId": "142",
"psName": "获取参数列表",
"psPid": "115",
"psC": "",
"psA": "",
"psLevel": "2",
"path": null,
"children": []
}
]
}
]
}
],
"meta": {
"msg": "删除成功",
"status": 205
}
}
1.6. 商品分类管理
1.6.1. 商品分类数据列表
- 请求路径:/cate/getByParam
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
type | 0/1/2 | 值:0,1,2 分别表示显示一层二层三层分类列表 【可选参数】如果不传递,则默认获取所有级别的分类 |
pageNum | 当前页码值 | 【可选参数】如果不传递,则默认获取所有分类 |
pageSize | 每页显示多少条数据 | 【可选参数】如果不传递,则默认获取所有分类 |
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | |
catName | 分类名称 | |
catPid | 分类父 ID | |
catLevel | 分类当前层级 | |
{
"data": [
{
"cat_id": 1,
"cat_name": "大家电",
"cat_pid": 0,
"cat_level": 0,
"cat_deleted": false,
"children": [
{
"cat_id": 3,
"cat_name": "电视",
"cat_pid": 1,
"cat_level": 1,
"cat_deleted": false,
"children": [
{
"cat_id": 6,
"cat_name": "曲面电视",
"cat_pid": 3,
"cat_level": 2,
"cat_deleted": false
},
{
"cat_id": 7,
"cat_name": "海信",
"cat_pid": 3,
"cat_level": 2,
"cat_deleted": false
}
]
}
]
}
],
"meta": {
"msg": "获取成功",
"status": 200
}
}
1.6.2. 添加分类
- 请求路径:/cate/addCate
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
cat_pid | 分类父 ID | 不能为空,如果要添加1级分类,则父分类Id应该设置为 0 |
cat_name | 分类名称 | 不能为空 |
cat_level | 分类层级 | 不能为空,0 表示一级分类;1 表示二级分类;2 表示三级分类 |
{
"data": {
"catId": "8ca42342-baf4-4cfe-9beb-247d3767db45",
"catName": "aa",
"catPid": "1",
"catLevel": 2,
"catDeleted": 0,
"catIcon": null,
"catSrc": null
},
"meta": {
"msg": "请求成功",
"status": 201
}
}
1.6.3. 根据 id 查询分类
- 请求路径:/cate/getById
- 请求方法:get
- 请求参数
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | 不能为空携带在url中 |
{
"data": {
"catId": "3",
"catName": "电视",
"catPid": "1",
"catLevel": 1,
"catDeleted": 0,
"catIcon": "",
"catSrc": ""
},
"meta": {
"msg": "查询成功",
"status": 207
}
}
1.6.4. 编辑提交分类
- 请求路径:/cate/updCate
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | 不能为空 |
catName | 分类名称 | 不能为空 |
{
"data": {
"catId": "8ca42342-baf4-4cfe-9beb-247d3767db45",
"catName": "测试",
"catPid": "1",
"catLevel": 2,
"catDeleted": 0,
"catIcon": null,
"catSrc": null
},
"meta": {
"msg": "修改成功",
"status": 203
}
}
1.6.5. 删除分类
- 请求路径:/cate/delCate
- 请求方法:get
- 请求参数
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | 不能为空携带在url中 |
{
"data": null,
"meta": {
"msg": "删除成功",
"status": 205
}
}
1.7. 分类参数管理
1.7.1. 参数列表
- 请求路径:/attr/getAttrList
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | 不能为空 |
attrSel | [only,many] | 不能为空,通过 only 或 many 来获取分类静态参数还是动态参数 |
参数名 | 参数说明 | 备注 |
---|
attrId | 分类参数 ID | |
attrName | 分类参数名称 | |
catId | 分类参数所属分类 | |
attrSel | only:输入框(唯一) many:后台下拉列表/前台单选框 | |
attrWrite | manual:手工录入 list:从列表选择 | |
attrVals | 如果 attr_write:list,那么有值,该值以逗号分隔 | |
{
"data": {
"total": 3802,
"list": [
{
"attrId": "1",
"attrName": "主观参数-型号",
"catId": "1191",
"attrSel": "only",
"attrWrite": "manual",
"deleteTime": null,
"attrVals": "00002"
}
}
"meta": {
"msg": "查询成功",
"status": 207
}
}
1.7.2. 添加动态参数或者静态属性
- 请求路径:/attr/addAttr
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | 不能为空 |
attrName | 参数名称 | 不能为空 |
attrSel | [only,many] | 不能为空 |
attrVals | 如果是 many 就需要填写值的选项,以逗号分隔 | 【可选参数】 |
{
"data": {
"attrId": "f4f44add-33f6-43ec-9929-226b91f8e4cb",
"attrName": "主观参数-型号",
"catId": "1191",
"attrSel": "only",
"attrWrite": "manual",
"deleteTime": null,
"attrVals": "00002"
},
"meta": {
"msg": "创建成功",
"status": 201
}
}
1.7.3. 删除参数
- 请求路径: /attr/delAttr
- 请求方法:get
- 请求参数
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | 不能为空携带在url中 |
attrId | 参数 ID | 不能为空携带在url中 |
{
"data": null,
"meta": {
"msg": "删除成功",
"status": 205
}
}
1.7.4. 根据 ID 查询参数
- 请求路径:/attr/findById
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | 不能为空 |
attrId | 属性 ID | 不能为空 |
attr_sel | [only,many] | 不能为空 |
attr_vals | 如果是 many 就需要填写值的选项,以逗号分隔 | |
{
"data": {
"attrId": "1",
"attrName": "主观参数-型号",
"catId": "1191",
"attrSel": "only",
"attrWrite": "manual",
"deleteTime": null,
"attrVals": "00002"
},
"meta": {
"msg": "查询成功",
"status": 207
}
}
1.7.5. 编辑提交参数
- 请求路径:/attr/updAttr
- 请求方法:post
- 请求参数
参数名 | 参数说明 | 备注 |
---|
catId | 分类 ID | 不能为空,携带在请求体 中` |
attrId | 属性 ID | 不能为空,携带在请求体 中` |
attrName | 新属性的名字 | 不能为空,携带在请求体 中 |
attrSel | 属性的类型[many或only] | 不能为空,携带在请求体 中 |
attrVals | 参数的属性值 | 可选参数,携带在请求体 中 |
{
"data": {
"attrId": "1",
"attrName": "主观参数-型号1",
"catId": "1191",
"attrSel": "only",
"attrWrite": "manual",
"deleteTime": null,
"attrVals": "00002"
},
"meta": {
"msg": "修改成功",
"status": 203
}
}
版权声明:本文为CSDN博主「王志威-yc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_20503733/article/details/105239905
所有评论(0)