You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js Express路由配置异常:POST请求返回404 Not Found

问题排查与修复方案

你的404问题源于路由挂载路径与路由内部定义路径不匹配,具体错误点和修复步骤如下:

错误分析

  1. 主应用路由挂载错误:
    你在主文件中将userRouter挂载到了/user/sign-up路径:

    app.use("/user/sign-up", userRouter);
    

    但你的请求路径是/shopping-cart/user/sign-up,userRouter并未挂载到/shopping-cart前缀下,自然无法匹配请求。

  2. 路由内部路径重复定义:
    userRouter内部又定义了/user/sign-up的POST路由:

    router.post("/user/sign-up", async (req, res) => { ... });
    

    结合错误的挂载路径,实际生效的路径会变成/user/sign-up/user/sign-up,和请求路径完全不符。

修复步骤

步骤1:修正主应用的路由挂载

将userRouter挂载到/shopping-cart前缀下,匹配请求的路径前缀:

// 替换原有错误的挂载代码
app.use("/shopping-cart", userRouter);

步骤2:验证路由匹配逻辑

修正挂载后,userRouter内部的/user/sign-up路由会和前缀组合成/shopping-cart/user/sign-up,刚好匹配你的请求路径,无需修改路由内部代码。

额外注意事项

确保setServerConfiguration(app)中已配置express.json()中间件,否则req.body会为空,导致用户创建失败:

// setServerConfiguration函数中需包含该配置
app.use(express.json());

重启服务后,重新发送POST请求即可正常访问接口。

内容的提问来源于stack exchange,提问作者Lior98

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 20:15:34