一、问题现象
完成频道管理后端接口 开发后,实现了频道名称模糊查询 + 状态精确查询功能:
- 后端
ChannelDto添加status字段 - 业务层拼接
eq()精确查询条件 - PostMan 直接测试接口:
status=true/false接收正常、查询生效 - 前端联调失败 :无论切换「启用 / 禁用 / 全部」,后端断点中
status始终为null
二、问题排查
- 后端代码验证 PostMan 构造请求直接调用后端服务,参数传递、数据查询完全正常,排除后端代码问题。
- 前端请求验证 浏览器 F12 查看网络请求,请求体中无
status参数,证明前端未将状态值传递给后端。
三、核心原因(关键踩坑点)
1. 混淆「前端打包产物」和「前端源码」
- 我修改的是 Nginx 托管的
admin-web文件夹:里面是npm run build打包后的压缩混淆静态资源 (app.xxx.js),所有页面代码被合并压缩,无法修改、无法定位业务代码。 - 真正可修改的是独立的 Vue 前端源码工程 ,修改后需要重新打包替换
admin-web才能生效。
2. 前端未实现参数传递
前端频道页面的状态下拉框未绑定查询参数:
- 未在查询对象
queryParams中添加status属性 - 下拉框
v-model未绑定状态值 - 发起请求时未将
status放入请求体,导致后端接收为空