Files
rlz/Postman接口测试说明.txt

230 lines
6.0 KiB
Plaintext
Raw Normal View History

2026-01-26 15:02:59 +08:00
========================================
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 接口
========================================