Express保存用户时路由返回404错误求助
解决POST /auth/save-user 404错误的排查步骤
404错误说明你的Express应用并未注册/auth/save-user这个路由,以下是最可能的原因和解决方法:
1. 确认主应用文件已挂载auth路由
你在auth.js中定义了路由,但必须在主Express应用(如app.js或server.js)中挂载该路由,否则应用无法识别它。
在主应用文件中添加以下代码:
const express = require('express'); const app = express(); // 引入auth路由文件,注意路径要和你的实际文件位置匹配 const authRouter = require('./auth.js'); // 关键:必须添加这个中间件解析JSON请求体,否则后端无法获取req.body app.use(express.json()); // 将auth路由挂载到/auth路径下,这样router里的/save-user就会映射为/auth/save-user app.use('/auth', authRouter); app.listen(3000, () => { console.log('Server running on http://localhost:3000'); });
2. 检查auth.js的引入路径是否正确
如果auth.js放在子文件夹(比如routes)中,需要修改require的路径:
const authRouter = require('./routes/auth.js');
3. 重启Node.js服务器
修改后端代码后必须重启服务器,否则新的路由配置不会生效。
4. 验证路由是否生效
可以用Postman直接请求POST http://localhost:3000/auth/save-user,如果仍然返回404,说明路由挂载步骤存在错误。
额外提醒:
- 确保
users.json文件存在于auth.js同级目录,或根据实际位置调整usersFilePath的路径 - 前端的fetch请求路径
http://localhost:3000/auth/save-user是正确的,无需修改
内容的提问来源于stack exchange,提问作者C H I E F _
相关产品推荐
相关产品推荐

