您好,我正在使用 POSTMAN 以 JSON 格式發布和獲取 api 呼叫到一個反應專案中的 MONGODB Atlas 資料庫。我收到上述錯誤,我不知道從哪里開始,因為我是新手。我在我的本地主機中使用 mongosh 創建了驅動程式資料庫,但我不確定是否應該將它放在那里,因為我正在嘗試連接到 Atlas 中的驅動程式資料庫。我正在使用 http://localhost:5000/drivers/add 在 POSTMAN 中撥打電話
//server.js
const express = require("express");
const app = express();
const cors = require("cors");
require("dotenv").config({ path: "./config.env" });
const port = process.env.PORT || 5000;
app.use(cors());
app.use(express.json());
//app.use(require("./routes/record"));
// get driver connection
const dbo = require("./db/conn");
const driverRouter = require('./routes/driver');
app.use('/driver', driverRouter);
app.listen(port, () => {
// perform a database connection when server starts
dbo.connectToServer(function (err) {
if (err) console.error(err);
});
console.log(`Server is running on port: ${port}`);
});
//route
const router= require('express').Router();
let Driver = require('../models/driver.model');
router.route('/').get((req, res) =>{
Driver.find()
.then(driver => res.json(driver))
.catch(err => res.status(400).json('Error: ' err));
}
)
router.route('/add').post((req, res) => {
const name = req.body.name;
const email = req.body.email;
const phone = req.body.phone;
const address = req.body.address;
const country =req.body.country;
const newDriver = new Driver({name, email, phone, address, country});
newDriver.save()
.then(() => res.json('Driver added!'))
.catch(err => res.status(400).json('Error: ' err));
});
module.exports = router;
//model
const mongoose = require('mongoose');
const Schema= mongoose.Schema;
const driverSchema= new Schema({
name:{type: String, required:true},
email:{type: String, required:true},
phone:{type: String, required:true},
address:{type:String, required:true},
country:{type: String, required:true}
});
const Driver= mongoose.model('Driver', driverSchema);
module.exports =Driver;
uj5u.com熱心網友回復:
您正在向 發出請求http://localhost:5000/drivers/add,但您的路線是/driver,因此只需從驅動程式中洗掉 s 并向 發出請求http://localhost:5000/driver/add,然后它應該可以作業。
uj5u.com熱心網友回復:
將 app.use("/driver", driverRouter) 更改為 app.use("/drivers", driverRouter)
我在驅動程式中添加了一個“s”
uj5u.com熱心網友回復:
您正在向 /drivers 發出請求,但您的路由是 /driver,因此只需從驅動程式中洗掉 s 并向 http://localhost:5000/driver/add 發出請求,然后它應該可以作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/456613.html
