最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Body-parser doesn't work with typescript, when I send a request, I'm getting an undefined in reques

programmeradmin2浏览0评论

Here is my following code of my express application with typescript 3.7.4:

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);
        });
    }

}`

Please, help me with this part of code. I don't understand, why I'm getting undefined in request.body, when i'm sending post request.

Here is my following code of my express application with typescript 3.7.4:

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);
        });
    }

}`

Please, help me with this part of code. I don't understand, why I'm getting undefined in request.body, when i'm sending post request.

Share Improve this question edited Mar 22, 2020 at 13:40 Антон Фесун asked Mar 22, 2020 at 13:32 Антон ФесунАнтон Фесун 311 gold badge1 silver badge3 bronze badges 1
  • I'm having a similar issue. Have you solved this? – Olli Luukas Commented Oct 23, 2020 at 6:42
Add a ment  | 

1 Answer 1

Reset to default 5

If you are running express 4.16 or greater, you no longer need to use body-parser.

You can try doing this instead:

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);
        });
    }

}`

See here for more info: https://medium./@mmajdanski/express-body-parser-and-why-may-not-need-it-335803cd048c

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论