路由器未找到 NodeJS POST 404

jmp7cifd  于 2022-09-18  发布在  Go
关注(0)|答案(3)|浏览(209)

你好,我有一个问题,我建立了一个项目,当我开始添加服务器端我正在使用节点js Express,我创建了从数据库(MongoDB)到特定URL的抓取帖子,我现在想添加用户,但我试图重新配置文件,并使用路由器,现在我得到404当我试图使帖子是上传一些代码

只需要知道错误的请求在哪里我想获取的URL是http://localhost:5000/shopping-cart/user/sign-up

Axios.post("http://localhost:5000/shopping-cart/user/sign-up", user).then((response) => {
      console.log(response);
    });

const express = require("express");
const app = express();
const mongoose = require("mongoose");
const path = require("path")
const productRouter = require("./routes/product.route");
const userRouter = require("./routes/user.route");
const { setServerConfiguration } = require("./config");

setServerConfiguration(app);
mongoose.connect('mongodb://localhost/shopping-cart-data-base');

app.use("/shopping-cart", productRouter);

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

app.listen(5000);

const router = require('express').Router();
const errorsHandler = require('../utils/errorsHandler');
const UserModel = require('../models/User');

router.post("/user/sign-up", async (req, res) => {
    let body = req.body;
    console.log(body)
    try{
        await UserModel.create({
            name: body.name,
            username: body.username,
            password: body.password,
            shoppingHistory: [],
          });
          res.send(body);
    }catch(e){
        return errorsHandler(e, req, res);
    }
});

module.exports = router;
tzdcorbm

tzdcorbm1#

您的路由器安装在/user/sign-up前缀上:

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

这意味着所有以/user/sign-up开头的请求都将传递到您的路由器。

您的路由器应该根据该前缀进行相对路由,因此要使其正常工作,请使用以下命令:

router.post('/', ...)
hkmswyz6

hkmswyz62#

请尝试此URL

"http://localhost:5000/user/sign-up"

如果要使用“http://localhost:5000/shopping-cart/user/sign-up”,则需要像这样定义路由,例如:

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

//Your code
})
nuypyhwy

nuypyhwy3#

未找到404路由

app.use("/shopping-cart", productRouter) => route1

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

路由1其他路由2

URL http://localhost:5000/shopping-cart请求路由1

Url http://localhost:5000/user/sign-up请求路由2

相关问题