您好,我有一個問題,當我開始添加服務器端時,我構建了一個專案我正在使用節點 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;
uj5u.com熱心網友回復:
您的路由器安裝在/user/sign-up
前綴上:
app.use("/user/sign-up", userRouter);
這意味著所有以開頭的請求都/user/sign-up
將傳遞給您的路由器。
您的路由器應該相對于該前綴進行路由,因此要使其正常作業,請使用以下命令:
router.post('/', ...)
uj5u.com熱心網友回復:
404 找不到路由
app.use("/shopping-cart", productRouter) => route1
app.use("/user/sign-up", userRouter); => 路線2
路線1 其他路線2
url http://localhost:5000/shopping-cart 請求 route1
url http://localhost:5000/user/sign-up request route2
uj5u.com熱心網友回復:
試試這個網址
"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
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/507655.html
標籤:javascript 节点.js mongodb 表示 路由器