苍穹外卖day01-08前端页面登录不进去,后端运行正常。前端问题是:POST http://localhost/api/employee/login 502 (Bad Gateway)

苍穹外卖day01-08前端页面登录不进去,后端运行正常。前端问题是:POST http://localhost/api/employee/login 502 (Bad Gateway)

下午好🌅🌅🌅
本答案参考通义千问
前端无法登录苍穹外卖,出现 POST http://localhost/api/employee/login 502 (Bad Gateway) 错误,说明请求在到达后端之前遇到了问题。这个错误通常发生在 前端请求的地址与后端服务不匹配 或者 后端服务未正确运行。
以下是详细的解决方案:
检查后端项目是否启动成功
EurekaServerApplication、OrderServiceApplication 等)。访问后端接口测试是否正常
POST http://localhost:8080/api/employee/login
502 Bad Gateway,说明后端没有响应;如果返回其他状态码(如 401),说明后端已接收到请求但逻辑出错。检查后端端口配置
8080 或其他你所使用的端口。application.yml 或 application.properties 中查看:
server:
port: 8080
查看前端代码中调用的 API 地址
axios.js 或 api.js 文件,查找登录请求的 URL 是否为:
http://localhost/api/employee/login
vue.config.js 中的 proxy 配置是否正确。检查代理配置(Vue 项目)
vue.config.js 中的配置如下:
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:8080', // 后端地址
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
}
}
}
/api/employee/login 会被代理到 http://localhost:8080/employee/login。确保后端服务正在运行
netstat -ano | findstr :8080
重启后端服务并重新部署
修改前端请求地址(调试时临时方案)
const loginUrl = 'http://localhost:8080/api/employee/login';
检查防火墙和网络设置
http://localhost:8080/api/employee/login
检查登录接口是否正常接收请求
EmployeeController 中添加日志或断点,确认请求是否到达。login 方法是否被正确调用。检查登录参数是否正确
{
"username": "admin",
"password": "123456"
}
检查密码加密逻辑
如果你发现前端请求地址有误,可以这样修改:
// 假设原代码如下
const res = await axios.post('/api/employee/login', data);
// 修改为:
const res = await axios.post('http://localhost:8080/api/employee/login', data);
如有更多具体问题,欢迎继续提问!