Как получить значение «имя» в ответе почтальона - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь сделать HTTP POST запрос в почтальоне.В моем проекте я использую экспресс-фреймворк от Nodejs.В почтальоне, когда я отправляю {"name": 'course2',}, в своем ответе я вижу только его идентификатор {"id": 2}. Я хотел бы видеть идентификатор и имя в ответе - {"id": 2, "name": "course2"}

Я жестко запрограммировал один курс с его "id" и "name".Однако, когда я пытаюсь сделать HTTP-запрос поста и создать новый курс с его именем и идентификатором, в своем ответе я получаю только идентификатор, а не название курса.

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":2,"name":"course2"}

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

При отправке почтальоном данные в формате JSON, например:

{ "name":"Petra", } , выберите формат Json перед отправкой!

0 голосов
/ 27 сентября 2019

Чтобы этот код работал, вам нужно выбрать body raw, как в почтальоне, как показано на прилагаемом изображении.

Вы должны добавить эту строку для обработки значений x-www-form-urlencoded:

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

Postman snapshot

...