POST запрос не возвращает часть объекта

Доброго всем времени суток! При отправке через Postman запроса к 127.0.0.1:4000/artists ожидаю, что в оперативной памяти сохраниться новый элемент с id и name.

Запрос в Postman:

{
    "name": "Depeche Mode"
}

Фактически после отправки запроса - дергаю get/artists и получаю следующее:

[{"id":1,"name":"Metallica"},{"id":2,"name":"Iron Maiden"},{"id":3,"name":"Deep Purple"},{"id":1660165964784}]

Код:

// 1. Установлен nodemon. Для запуска сервера ввести команду: npm run dev

const express = require("express");
const app = express();
const fs = require("fs");
const path = require('path');
const bodyParser = require('body-parser');
const port = 4000;

app.use(bodyParser.json()); // Чтобы правильно парсить JSON, переданный в body
app.use(bodyParser.urlencoded({ extended: true })); // Чтобы правильно парсить данные формы

let artists = [
    {
        id: 1,
        name: 'Metallica'
    },
    {
        id: 2,
        name: 'Iron Maiden'
    },
    {
        id: 3,
        name: 'Deep Purple'
    }
];

fs.stat('./DataFolder', function (err) {

    if (err?.code === 'ENOENT') {
        fs.mkdir(path.join(__dirname, 'DataFolder'), (err) => {
            if (err) {
                throw err;
            } else {
                console.log("Папка создана");
            }
        });
    } else {
        console.log(!err ? "" : err);
    }

});

fs.stat('./DataFolder/data.txt', function (err) {

    if (err?.code === 'ENOENT') {
        fs.writeFile(path.join(__dirname, 'DataFolder', 'data.txt'), "", err => {
            if (err) {
                throw err;
            } else {
                console.log("Файл создан");
            }
        });
    } else {
        console.log(!err ? "" : err);
    }

});

app.get('/', (req, res) => {
    res.send("Hello World!");
});

app.get('/artists', (req, res) => {
    res.send(artists);
});

app.get('/artists/:id', (req, res) => {
    let artist = artists.find(artist => {
        return artist.id === Number(req.params.id);
    });
    res.send(artist);
});

app.post('/artists', (req, res) => {
    let artist = {
        id: Date.now(),
        name: req.body.name
    };
    artists.push(artist);
    res.send(artist);
});

app.listen(4000, () => {
    console.log(`Server listening on port ${port}!`);
});

Подскажите, пожалуйста, почему не сохраняется имя и как исправить?


Ответы (0 шт):