[英]req.body.someElement is undefined when I make POST request
我的 post 請求有問題,錯誤是 req.body get undefined values。 我剛開始編碼,在谷歌和 stackoverflow 上研究了一個答案后,我在 stackoverflow 上找到了一些答案,但它們沒有解決我的問題。 如果我記錄 name 它有一個值,但如果我記錄 req.body.name.type 或 typeOf name 它是未定義的。 我在設置路由之前設置了我的中間件主體解析器,但它不起作用。 我也嘗試替換 app.use(bodyParser.json()); 使用 app.use(express.json()); 什么都沒有改變。 我在下面附加了我的代碼。
這是我的 index.js
const express = require("express");
require('dotenv').config();
const sequelize = require('./db');
const cors = require('cors');
const router = require("./routes/index");
const errorHandler = require("./middlewares/ErrorHandlingMiddleware");
const bodyParser = require("body-parser");
const app = express();
app.use(bodyParser.json());
app.use(cors());
app.use("/api", router);
app.use(errorHandler);
const start = async ()=>{
try {
//make connection with our database
await sequelize.authenticate();
await sequelize.sync();
app.listen(process.env.PORT || 5000, () => {
let date = new Date(Date.now());
let serverStartTime = date.getDate() + "." + date.getMonth() + "." + date.getFullYear() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
console.log("Server was start/restart on port 5000: " + serverStartTime);
});
} catch (exception){
console.log(exception);
}
}
start();
這是我的路線索引
const Router = require("express");
const router = new Router();
const brandRouter = require("./brandRouter");
const deviceRouter = require("./deviceRouter");
const typeRouter = require("./typeRouter");
const userRouter = require("./userRouter");
router.use("/user", userRouter);
router.use("/type", typeRouter);
router.use("/brand", brandRouter);
router.use("/device", deviceRouter);
module.exports = router;
這是我的類型路由器
const Router = require("express");
const router = new Router();
const typeController = require("../controllers/typeController");
const bodyParser = require("body-parser");
const jsonBodyParser = bodyParser.json();
router.post("/", typeController.addType);
router.get("/", typeController.getAllTypes);
module.exports = router;
這是我的 controller 類型
const {Type} = require("../models/models");
const ApiError = require("../errors/ApiError");
class TypeController {
async addType(req, res, next) {
const {name} = req.body;
const type = await Type.create({name});
res.json(req.body);
}
async getAllTypes(req, res) {
const types = await Type.findAll();
return res.json(types);
}
}
module.exports = new TypeController();
然后方法 Type.create({name}); 被執行它拋出錯誤“無法讀取未定義的屬性'create'”
問題似乎不在於 req.body,而在於這行代碼
const {Type} = require("../models/models");
錯誤 Cannot read property 'create' of undefined is coming because Type is undefined. 檢查您是否正確導入類型值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.