总结
协议风格唯一清晰
HTTP协议:行 头 体
nginx代理
版本
风格:GET+POST;Restful
接口命名:风格固定+唯一+清晰(一看接口名就知道功能+唯一性)
请求参数:Query参数,Path参数,Body参数
举例:Restful
nginx
prod-api/v1/
dev-api/v1/
test-api/v1/
Restful:GET POST PUT DELETE PATCH
增删改查
controller命名:ClassController(表名Controller)
资源:
POST /class/v1/class/one:新建一个班级
方法名:postOne
权限命名:"post:one"
资源:
POST /class/v1/class/batch:批量新建班级
方法名:postBatch
权限命名:"post:batch"
资源:
DELETE /class/v1/class/{id}:删除一个班级
方法名:deleteId
权限命名:"delete:id"
资源:
DELETE /class/v1/class/{ids}:批量删除班级
方法名:deleteBatch
权限命名:"delete:batch"
资源:
PUT /class/v1/class/one:更新一个班级(提供该班级的ID和全部信息)
方法名:putOne
权限命名:"put:one"
资源:
PUT /class/v1/class/batch:批量更新班级(提供该班级的ID和全部信息)
方法名:putBatch
权限命名:"put:batch"
资源:
PATCH /class/v1/class/one:更新一个班级(提供该班级的ID和部分信息)
方法名:patchOne
权限命名:"patch:one"
资源:
PATCH /class/v1/class/batch:批量更新班级(提供该班级的ID和部分信息)
方法名:patchBatch
权限命名:"patch:batch"
资源:
GET /class/v1/classs/list:列表查询班级(条件查询)
方法名:getList
权限命名:"get:list"
资源:
GET /class/v1/classs/page:分页查询班级(条件查询)
方法名:getPage
权限命名:"get:page"
资源:
GET /class/v1/classs/all:查询所有班级
方法名:getAll
权限命名:"get:all"
资源:
GET /class/v1/classs/{ID}:ID查询一个班级
方法名:getId
权限命名:"get:id"
资源:
GET /class/v1/classs/one:查询一个班级(条件查询)
方法名:getOne
权限命名:"get:one"
资源:
DELETE /class/v1/class/{classId}/students/{studentId}:删除某个指定班级的指定学生
GET /class/v1/class/{classId}/student/all:列出某个指定班级的所有学生
VO DTO PO命名
`表_唯一操作_ReqVO` `表_唯一操作_ResVO`
举例:GET+POST
参考 分析:
- 只有GET和POST方式
- /业务/版本号/模块/唯一操作
- 参数传递有“链接参数”和“Body参数”
- 安全性有{access_token}
版本号:https://www.xxx.cn/v2/web/index
唯一操作:
- 创建:create
- 根据ID删除1个:delete
- 根据ID列表批量删除:batchdelete
- 根据ID更新:update
- 根据ID查找:one
- 查找所有:all
- 列表条件查找:list
- 分页条件查找:page
创建成员
创建成员
- POST
- /bin/user/create
- 请求参数:{access_token}
- Body参数:object
- 请求头:application/json
删除成员
删除成员
- Get
- /bin/user/delete
- 请求参数:{access_token},{userid}
批量删除成员
批量删除成员
- Post
- /bin/user/batchdelete
- 请求参数:{access_token}
- Body参数:array[string]
- 请求头:application/json
ID更新成员
更新成员
- POST
- /bin/user/update
- 请求参数:{access_token}
- Body参数:object
- 请求头:application/json
ID查询成员
查询成员
- GET
- /bin/user/get
- 请求参数:{access_token},{userid}
List查询成员简介
获取部门成员简介
- Get
- /bin/user/simplelist
- 请求参数:{access_token},department_id
List查询成员详情
获取部门成员详情
- Get
- /bin/user/list
- 请求参数:{access_token},department_id
举例:Restful/GET+POST+PUT+DELETE+PATCH
分析:
- 请求方式:GET,POST,PUT,DELETE,PATCH
- /业务/版本号/模块/唯一操作
- 唯一操作=请求方式+接口名
- 参数传递有“链接参数”和“Body参数”
唯一操作:
- 创建:Post /system/menu/
- 根据ID删除1个:Delete /system/menu/{menuId}
- 根据ID列表批量删除:Delete /system/menu/{menuIds}
- 根据ID更新:Put /system/menu/
- 根据ID查找:Get /system/menu/{menuId}
- 查找所有:Get /system/menu/all
- 列表条件查找:Get /system/menu/list
- 分页条件查找:Get /system/menu/page
- 树形查找:Get /system/menu/tree
- 导入:Post /system/menu/import
- 导出:Get /system/menu/export
增加菜单
/system/menu/
- 增加菜单
- 请求方式:Post
- 请求参数:SysMenu menu
ID删除菜单
/system/menu/{menuId}
- 删除菜单
- 请求方式:Delete
IDs删除菜单
/system/menu/{menuIds}
- 删除菜单
- 请求方式:Delete
- 请求参数:`@PathVariable Long[] menuIds`
修改菜单全部
/system/menu/
- 修改菜单
- 请求方式:Put
- 请求参数:SysMenu menu
修改菜单部分
/system/menu/
- 修改菜单
- 请求方式:Patch
- 请求参数:SysMenu menu
ID查找菜单
/system/menu/{menuId}
- ID查找
- 请求方式:Get
列表查找菜单
/system/menu/list
- 列表查找
- 请求方式:Get
- 请求参数:SysMenu menu
树形查找菜单
/system/menu/tree
- 树形查找
- 请求方式:Get
- 请求参数:SysMenu menu
导入菜单
/system/menu/import
- 导入
- 请求方式:Post
- 请求参数:`MultipartFile file`
导出菜单
/system/menu/export
- 导出
- 请求方式:Get
菜单对应角色菜单列表树
/system/menu/roleMenuTreeselect/{roleId}
- 加载对应角色菜单列表树
- 请求方式:Get
HTTP概述
请求:行头体
- 请求方式
- 请求接口
- 请求参数
- 请求头:请求格式
响应:行头体
- 响应状态
- 响应头:响应格式
- 响应数据