feat: initialize project
This commit is contained in:
397
docs/API_EXAMPLES.md
Normal file
397
docs/API_EXAMPLES.md
Normal file
@@ -0,0 +1,397 @@
|
||||
# 接口联调示例
|
||||
|
||||
## 启动顺序
|
||||
|
||||
1. 执行 `src/main/resources/sql/init-auth-schema.sql`
|
||||
2. 执行 `src/main/resources/sql/init-demo-data.sql`
|
||||
3. 启动应用
|
||||
4. 访问 `POST /api/captcha/generate`
|
||||
5. 使用返回的验证码登录
|
||||
|
||||
## 1. 获取验证码
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/captcha/generate
|
||||
```
|
||||
|
||||
返回示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": {
|
||||
"key": "8f3b8fd4d2cf4d1ca6a4b8cf7ab33f9d",
|
||||
"image": "data:image/png;base64,..."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## 2. 登录
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/auth/login
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"username": "admin",
|
||||
"password": "admin123",
|
||||
"captchaKey": "8f3b8fd4d2cf4d1ca6a4b8cf7ab33f9d",
|
||||
"captchaCode": "a8k3"
|
||||
}
|
||||
```
|
||||
|
||||
返回示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": {
|
||||
"token": "xxxxxx",
|
||||
"tokenName": "Authorization",
|
||||
"userInfo": {
|
||||
"id": 1000000000000000001,
|
||||
"username": "admin",
|
||||
"nickname": "系统管理员",
|
||||
"status": 1,
|
||||
"statusDesc": "正常"
|
||||
},
|
||||
"roles": ["ADMIN"],
|
||||
"permissions": [
|
||||
"system:user:page",
|
||||
"system:role:page",
|
||||
"system:menu:list"
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
后续请求头:
|
||||
|
||||
```http
|
||||
Authorization: xxxxxx
|
||||
```
|
||||
|
||||
## 3. 查询当前用户菜单
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/menu/current
|
||||
Authorization: xxxxxx
|
||||
```
|
||||
|
||||
## 4. 查询当前用户权限标识
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/menu/permissions/current
|
||||
Authorization: xxxxxx
|
||||
```
|
||||
|
||||
## 5. 查询前端下拉字典
|
||||
|
||||
查询字典类型:
|
||||
|
||||
```http
|
||||
POST /api/enums/list
|
||||
```
|
||||
|
||||
返回示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": [
|
||||
{
|
||||
"enumName": "LogType",
|
||||
"enumDesc": "日志类型枚举",
|
||||
"displayName": "LogType",
|
||||
"className": "com.test.demo.enums.LogType",
|
||||
"packageName": "com.test.demo.enums",
|
||||
"valueType": "java.lang.String",
|
||||
"sourceType": "SYSTEM",
|
||||
"builtin": 1,
|
||||
"queryPath": "/api/enums/LogType"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
查询字典项:
|
||||
|
||||
```http
|
||||
POST /api/enums/items/LogType
|
||||
```
|
||||
|
||||
返回示例:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": [
|
||||
{
|
||||
"value": "LOGIN",
|
||||
"desc": "登录日志"
|
||||
},
|
||||
{
|
||||
"value": "OPER",
|
||||
"desc": "操作日志"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 6. 新增自定义字典类型
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/enum-manage/type/add
|
||||
Authorization: xxxxxx
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"enumCode": "PayChannel",
|
||||
"enumName": "支付渠道",
|
||||
"enumDesc": "支付渠道字典",
|
||||
"enabled": 1,
|
||||
"sort": 1,
|
||||
"remark": "联调新增"
|
||||
}
|
||||
```
|
||||
|
||||
## 7. 新增自定义字典项
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/enum-manage/item/add
|
||||
Authorization: xxxxxx
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"enumCode": "PayChannel",
|
||||
"itemValue": "ALIPAY",
|
||||
"itemLabel": "支付宝",
|
||||
"itemName": "ALIPAY",
|
||||
"enabled": 1,
|
||||
"sort": 1
|
||||
}
|
||||
```
|
||||
|
||||
## 8. 启停字典类型
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/enum-manage/type/enable/2033103240660238338?enabled=0
|
||||
Authorization: xxxxxx
|
||||
```
|
||||
|
||||
## 9. 启停字典项
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/enum-manage/item/enable/2033103240752513025?enabled=1
|
||||
Authorization: xxxxxx
|
||||
```
|
||||
|
||||
## 10. 查询登录日志
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/log/login/page
|
||||
Authorization: xxxxxx
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"pageNum": 1,
|
||||
"pageSize": 10,
|
||||
"username": "admin"
|
||||
}
|
||||
```
|
||||
|
||||
## 11. 导出登录日志
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/log/login/export
|
||||
Authorization: xxxxxx
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"username": "admin",
|
||||
"logType": "LOGIN"
|
||||
}
|
||||
```
|
||||
|
||||
## 12. 查询操作日志
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/log/oper/page
|
||||
Authorization: xxxxxx
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"pageNum": 1,
|
||||
"pageSize": 10,
|
||||
"userName": "admin"
|
||||
}
|
||||
```
|
||||
|
||||
## 13. 导出操作日志
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/log/oper/export
|
||||
Authorization: xxxxxx
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"userName": "admin",
|
||||
"logType": "OPER"
|
||||
}
|
||||
```
|
||||
|
||||
## 14. 查询文件列表
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/file/list
|
||||
Authorization: xxxxxx
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"relativeDir": "",
|
||||
"recursive": true,
|
||||
"pageNum": 1,
|
||||
"pageSize": 20
|
||||
}
|
||||
```
|
||||
|
||||
## 15. 上传文件
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/file/upload
|
||||
Authorization: xxxxxx
|
||||
Content-Type: multipart/form-data
|
||||
```
|
||||
|
||||
参数:
|
||||
|
||||
`file`: 文件
|
||||
|
||||
## 16. 下载文件
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
GET /api/file/download/2026/03/15/demo.xlsx
|
||||
Authorization: xxxxxx
|
||||
```
|
||||
|
||||
## 17. 预览文件
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
GET /api/file/preview/2026/03/15/demo.xlsx
|
||||
```
|
||||
|
||||
## 18. 导入用户
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/user/import
|
||||
Authorization: xxxxxx
|
||||
Content-Type: multipart/form-data
|
||||
```
|
||||
|
||||
参数:
|
||||
|
||||
`file`: 用户导入模板
|
||||
|
||||
## 19. 导出用户
|
||||
|
||||
接口:
|
||||
|
||||
```http
|
||||
POST /api/user/export
|
||||
Authorization: xxxxxx
|
||||
Content-Type: application/json
|
||||
```
|
||||
|
||||
请求体:
|
||||
|
||||
```json
|
||||
{
|
||||
"username": "admin",
|
||||
"pageNum": 1,
|
||||
"pageSize": 10
|
||||
}
|
||||
```
|
||||
|
||||
## 20. 可选签名请求头
|
||||
|
||||
如果客户端要启用签名,可附带以下请求头:
|
||||
|
||||
```http
|
||||
X-Timestamp: 1710000000
|
||||
X-Nonce: random-string
|
||||
X-Sign: sha256(timestamp + nonce + body + signSecret)
|
||||
```
|
||||
|
||||
签名密钥配置在:
|
||||
|
||||
`security.sign.secret`
|
||||
Reference in New Issue
Block a user