230 lines
6.0 KiB
Plaintext
230 lines
6.0 KiB
Plaintext
|
|
========================================
|
|||
|
|
Postman测试接口说明 - 订单列表接口
|
|||
|
|
========================================
|
|||
|
|
|
|||
|
|
一、问题原因
|
|||
|
|
-----------
|
|||
|
|
接口 `/system/view/list` 需要JWT Token认证,直接访问会返回401错误。
|
|||
|
|
|
|||
|
|
从代码可以看到:
|
|||
|
|
- 接口调用了 getLoginUser() 方法获取当前登录用户
|
|||
|
|
- 需要从请求Header中获取Token进行验证
|
|||
|
|
- 没有Token或Token无效会返回401认证失败
|
|||
|
|
|
|||
|
|
二、解决方案
|
|||
|
|
-----------
|
|||
|
|
|
|||
|
|
【步骤1:先登录获取Token】
|
|||
|
|
|
|||
|
|
1. 在Postman中创建新请求
|
|||
|
|
- Method: POST
|
|||
|
|
- URL: http://101.43.95.130:8039/appLogin
|
|||
|
|
- Headers:
|
|||
|
|
Content-Type: application/x-www-form-urlencoded
|
|||
|
|
- Body (x-www-form-urlencoded):
|
|||
|
|
username: admin (或你的用户名)
|
|||
|
|
password: admin123 (或你的密码)
|
|||
|
|
|
|||
|
|
2. 发送请求,从响应中获取Token
|
|||
|
|
响应格式示例:
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"data": {
|
|||
|
|
"token": "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjEyMzQ1Njc4LWE5YmMtMTIzNC0xMjM0LTEyMzQ1Njc4OTBhYiIsInVzZXJfaWQiOjEsInVzZXJuYW1lIjoiYWRtaW4iLCJleHAiOjE2OTk5OTk5OTl9.xxxxx",
|
|||
|
|
"userId": "1",
|
|||
|
|
"userName": "admin",
|
|||
|
|
...
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
【步骤2:使用Token访问订单列表接口】
|
|||
|
|
|
|||
|
|
1. 在Postman中创建新请求
|
|||
|
|
- Method: GET
|
|||
|
|
- URL: http://101.43.95.130:8039/system/view/list?status=&pageSize=10&pageNum=1
|
|||
|
|
- Headers:
|
|||
|
|
Authorization: Bearer <你的Token>
|
|||
|
|
Content-Type: application/json
|
|||
|
|
|
|||
|
|
2. 发送请求即可获取订单列表
|
|||
|
|
|
|||
|
|
三、详细操作步骤
|
|||
|
|
---------------
|
|||
|
|
|
|||
|
|
【方法1:使用Postman图形界面】
|
|||
|
|
|
|||
|
|
1. 登录获取Token
|
|||
|
|
- 打开Postman
|
|||
|
|
- 点击 "New" → "HTTP Request"
|
|||
|
|
- 设置:
|
|||
|
|
* Method: POST
|
|||
|
|
* URL: http://101.43.95.130:8039/appLogin
|
|||
|
|
- 点击 "Headers" 标签
|
|||
|
|
* 添加: Content-Type = application/x-www-form-urlencoded
|
|||
|
|
- 点击 "Body" 标签
|
|||
|
|
* 选择 "x-www-form-urlencoded"
|
|||
|
|
* 添加:
|
|||
|
|
- Key: username, Value: admin
|
|||
|
|
- Key: password, Value: admin123
|
|||
|
|
- 点击 "Send"
|
|||
|
|
- 复制响应中的 token 值
|
|||
|
|
|
|||
|
|
2. 访问订单列表
|
|||
|
|
- 创建新请求
|
|||
|
|
- Method: GET
|
|||
|
|
- URL: http://101.43.95.130:8039/system/view/list?status=&pageSize=10&pageNum=1
|
|||
|
|
- Headers:
|
|||
|
|
* Authorization: Bearer <粘贴刚才复制的token>
|
|||
|
|
- 点击 "Send"
|
|||
|
|
|
|||
|
|
【方法2:使用curl命令测试】
|
|||
|
|
|
|||
|
|
1. 先登录获取Token:
|
|||
|
|
curl -X POST "http://101.43.95.130:8039/appLogin" \
|
|||
|
|
-H "Content-Type: application/x-www-form-urlencoded" \
|
|||
|
|
-d "username=admin&password=admin123"
|
|||
|
|
|
|||
|
|
2. 使用Token访问订单列表:
|
|||
|
|
curl -X GET "http://101.43.95.130:8039/system/view/list?status=&pageSize=10&pageNum=1" \
|
|||
|
|
-H "Authorization: Bearer <你的token>"
|
|||
|
|
|
|||
|
|
四、常见错误及解决方法
|
|||
|
|
--------------------
|
|||
|
|
|
|||
|
|
【错误1: 401 认证失败】
|
|||
|
|
原因: 没有Token或Token无效
|
|||
|
|
解决:
|
|||
|
|
- 检查Authorization Header是否正确
|
|||
|
|
- 确认Token格式: Bearer <token> (注意Bearer后面有空格)
|
|||
|
|
- Token可能已过期,重新登录获取新Token
|
|||
|
|
|
|||
|
|
【错误2: 无法连接到服务器】
|
|||
|
|
原因: 网络问题或防火墙
|
|||
|
|
解决:
|
|||
|
|
- 检查服务器是否运行: curl http://localhost:8039
|
|||
|
|
- 检查防火墙是否开放8039端口
|
|||
|
|
- 如果使用公网IP,确认服务器防火墙规则
|
|||
|
|
|
|||
|
|
【错误3: 500 服务器错误】
|
|||
|
|
原因: 参数错误或服务器内部错误
|
|||
|
|
解决:
|
|||
|
|
- 检查参数是否正确
|
|||
|
|
- 查看服务器日志
|
|||
|
|
- 确认数据库连接正常
|
|||
|
|
|
|||
|
|
【错误4: 404 接口不存在】
|
|||
|
|
原因: URL路径错误
|
|||
|
|
解决:
|
|||
|
|
- 确认接口路径: /system/view/list
|
|||
|
|
- 检查服务器端口: 8039
|
|||
|
|
- 确认服务器已启动
|
|||
|
|
|
|||
|
|
五、Token说明
|
|||
|
|
-----------
|
|||
|
|
|
|||
|
|
1. Token格式
|
|||
|
|
- Header名称: Authorization
|
|||
|
|
- 值格式: Bearer <token>
|
|||
|
|
- 示例: Authorization: Bearer eyJhbGciOiJIUzUxMiJ9...
|
|||
|
|
|
|||
|
|
2. Token有效期
|
|||
|
|
- 默认30分钟(可在application.yml中配置)
|
|||
|
|
- Token过期后需要重新登录
|
|||
|
|
|
|||
|
|
3. Token存储
|
|||
|
|
- Token存储在Redis中
|
|||
|
|
- 需要Redis服务正常运行
|
|||
|
|
|
|||
|
|
六、接口参数说明
|
|||
|
|
--------------
|
|||
|
|
|
|||
|
|
【订单列表接口】
|
|||
|
|
URL: /system/view/list
|
|||
|
|
Method: GET
|
|||
|
|
参数:
|
|||
|
|
- status: 订单状态(可选)
|
|||
|
|
* -2: 已取消
|
|||
|
|
* -1: 拒绝接单
|
|||
|
|
* 0: 待接单
|
|||
|
|
* 1: 已接单
|
|||
|
|
* 2: 已支付(待服务)
|
|||
|
|
* 3: 服务中
|
|||
|
|
* 4: 已完成
|
|||
|
|
* 5: 申请退款
|
|||
|
|
* 6: 退款中
|
|||
|
|
* 7: 已退款
|
|||
|
|
* 8: 已结算
|
|||
|
|
- pageSize: 每页数量(默认10)
|
|||
|
|
- pageNum: 页码(默认1)
|
|||
|
|
|
|||
|
|
响应格式:
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"rows": [...],
|
|||
|
|
"total": 100
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
七、Postman环境变量配置(推荐)
|
|||
|
|
---------------------------
|
|||
|
|
|
|||
|
|
为了方便管理,建议在Postman中配置环境变量:
|
|||
|
|
|
|||
|
|
1. 创建环境
|
|||
|
|
- 点击右上角环境图标
|
|||
|
|
- 点击 "Add"
|
|||
|
|
- 环境名称: 陪诊系统
|
|||
|
|
|
|||
|
|
2. 添加变量
|
|||
|
|
- base_url: http://101.43.95.130:8039
|
|||
|
|
- token: (登录后自动设置)
|
|||
|
|
|
|||
|
|
3. 使用变量
|
|||
|
|
- URL: {{base_url}}/system/view/list
|
|||
|
|
- Authorization: Bearer {{token}}
|
|||
|
|
|
|||
|
|
4. 自动设置Token(使用Tests脚本)
|
|||
|
|
在登录请求的Tests标签中添加:
|
|||
|
|
```javascript
|
|||
|
|
if (pm.response.code === 200) {
|
|||
|
|
var jsonData = pm.response.json();
|
|||
|
|
if (jsonData.data && jsonData.data.token) {
|
|||
|
|
pm.environment.set("token", jsonData.data.token);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
八、测试脚本
|
|||
|
|
-----------
|
|||
|
|
|
|||
|
|
已创建测试脚本: test_postman_api.sh
|
|||
|
|
使用方法:
|
|||
|
|
bash test_postman_api.sh
|
|||
|
|
|
|||
|
|
九、快速测试命令
|
|||
|
|
--------------
|
|||
|
|
|
|||
|
|
【完整测试流程】
|
|||
|
|
# 1. 登录获取Token
|
|||
|
|
TOKEN=$(curl -s -X POST "http://localhost:8039/appLogin" \
|
|||
|
|
-H "Content-Type: application/x-www-form-urlencoded" \
|
|||
|
|
-d "username=admin&password=admin123" | \
|
|||
|
|
python3 -c "import sys, json; data=json.load(sys.stdin); print(data['data']['token'] if 'data' in data and 'token' in data['data'] else '')")
|
|||
|
|
|
|||
|
|
# 2. 使用Token访问订单列表
|
|||
|
|
curl -X GET "http://localhost:8039/system/view/list?status=&pageSize=10&pageNum=1" \
|
|||
|
|
-H "Authorization: Bearer $TOKEN" | python3 -m json.tool
|
|||
|
|
|
|||
|
|
十、总结
|
|||
|
|
-------
|
|||
|
|
|
|||
|
|
问题: Postman访问接口不通
|
|||
|
|
原因: 缺少JWT Token认证
|
|||
|
|
解决:
|
|||
|
|
1. 先调用 /appLogin 接口登录获取Token
|
|||
|
|
2. 在请求Header中添加: Authorization: Bearer <token>
|
|||
|
|
3. 然后访问 /system/view/list 接口
|
|||
|
|
|
|||
|
|
========================================
|