为什么我需要中间件来解析HTTP正文?

时间:2019-12-26 11:46:39

标签: javascript node.js rest express http

我试图了解RESTful API的工作方式。我正在尝试使用ExpressJS路由POST请求。我的问题是req.body.name总是返回undefined。换句话说,我无法从HTTP请求的正文访问数据。

这是我使用邮递员发送的请求enter image description here

这是响应中发送的错误消息 enter image description here

我已经阅读了几篇文章,并且我理解一个人必须使用一些其他软件(也称为中间件)来使请求正文对Express可读(即解析请求)。但是我真的不明白为什么会这样。为什么我不能直接访问request.body.name

这是我的代码

const express = require('express');
const app = express();

app.get('/', (req,res)=>{
    console.log('Im in the index');
    res.send('Index page');
});

app.get('/parameterRoute/:id', (req,res)=>{
    console.log('Im in parameterRoute');
    res.send(req.params.id);
});

// This is the problem
app.post('/postRoute',(req,res) =>{

    res.send(req.body.name);
});

0 个答案:

没有答案