gpt4 book ai didi

javascript - Body-parser 不适用于 typescript ,当我发送请求时,我在 request.body 中得到一个未定义的

转载 作者:行者123 更新时间:2023-12-05 02:08:32 31 4
gpt4 key购买 nike

这是我使用 typescript 3.7.4 的 express 应用程序的以下代码:

import bodyParser from "body-parser";
import config from "config";
import cookieParser from "cookie-parser";
import express from "express";
import mongoose from "mongoose";
import path from "path";

export default class App {

public app: express.Application;

constructor() {
this.app = express();
this.initializeMiddlewares();
}

public listen(port: any) {
this.app.listen(port, () => {
console.log(`App listening on the port ${port}`);
});
}

public initializeControllers(controllers: any) {
controllers.forEach((controller: any) => {
this.app
.use(bodyParser.json())
.use(bodyParser.urlencoded())
.use("/", controller.router);
});
}

}`

请帮我处理这部分代码。我不明白,为什么我在发送发布请求时在 request.body 中变得未定义。

最佳答案

如果您运行的是 express 4.16 或更高版本,则不再需要使用 body-parser。

您可以尝试这样做:

import config from "config";
import cookieParser from "cookie-parser";
import express from "express";
import mongoose from "mongoose";
import path from "path";

export default class App {

public app: express.Application;

constructor() {
this.app = express();
this.initializeMiddlewares();
}

public listen(port: any) {
this.app.listen(port, () => {
console.log(`App listening on the port ${port}`);
});
}

public initializeControllers(controllers: any) {
controllers.forEach((controller: any) => {
this.app.use(express.json());
this.app.use(express.urlencoded());
this.app.use("/", controller.router);
});
}

}`

查看此处了解更多信息:https://medium.com/@mmajdanski/express-body-parser-and-why-may-not-need-it-335803cd048c

关于javascript - Body-parser 不适用于 typescript ,当我发送请求时,我在 request.body 中得到一个未定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60799934/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com