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}!`);
});
Подскажите, пожалуйста, почему не сохраняется имя и как исправить?