Javascript 如何获得;名称“;《邮递员》中回复的价值

Javascript 如何获得;名称“;《邮递员》中回复的价值,javascript,node.js,api,express,postman,Javascript,Node.js,Api,Express,Postman,我试图在postman中发出HTTP POST请求。在我的项目中,我使用的是来自Nodejs的express框架。在《邮差》里,当我发帖的时候{ “name”:‘course2’,},在我的回复中,我只能看到它的id{“id”:2}。我想在回复中看到id和名称-{“id”:2,“name”:“course2”} 我用“id”和“名称”硬编码了一门课程。然而,当我尝试发出一个HTTPPOST请求并创建一个带有名称和id的新课程时,在我的响应中,我只得到id,而不是课程的名称 index.js co

我试图在postman中发出HTTP POST请求。在我的项目中,我使用的是来自Nodejs的express框架。在《邮差》里,当我发帖的时候{ “name”:‘course2’,},在我的回复中,我只能看到它的id{“id”:2}。我想在回复中看到id和名称-{“id”:2,“name”:“course2”}

我用“id”和“名称”硬编码了一门课程。然而,当我尝试发出一个HTTPPOST请求并创建一个带有名称和id的新课程时,在我的响应中,我只得到id,而不是课程的名称

index.js

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

app.use(express.json());

const courses = [{id : 1, name : 'course1'}];

app.post('/api/courses/', (req, res) => {
    const course = {
        id: courses.length + 1,
        name: req.body.name
    };
    courses.push(course);
    res.send(course);
});

const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`listening on port ${port}...`));


我希望看到响应中的id和名称-
{“id”:2,“name”:“course2”}

中的postman以JSON格式发送数据,如:

{
“姓名”:“佩特拉”,
}

发送前选择Json格式

要使此代码正常工作,您必须选择body raw,如所附图像所示

您应该添加此行来处理x-www-form-urlencoded值:

app.use(express.urlencoded({extended: true}))

您确定req.body.name未定义吗?因为如果是这样,您将只得到id作为响应。请确保您在POST中以JSON的形式发送数据。您可能还需要在express服务器上使用
正文解析器
模块。