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 接口
|
||
|
||
========================================
|