Создаём новое объявление, через post таким образом:
POST http://localhost:3000/api/offers HTTP/1.1
Content-Type: application/json
{
 "category": ["Разное"],
 "description": "При покупке с меня бесплатная доставка в черте города.",
 "picture": "item03.jpg",
 "title": "Продам новую приставку Sony Playstation 5.",
 "type": "offer",
 "sum": 42698
}
Добавили дополнительную проверку данных:
const { HttpCode } = require(`../constants`);
const offerKeys = [`category`, `description`, `picture`, `title`, `type`, `sum`];
module.exports = (req, res, next) => {
const newOffer = req.body;
const keys = Object.keys(newOffer);
const keysExists = offerKeys.every((key) => keys.includes(key));
if (!keysExists) {
res.status(HttpCode.BAD_REQUEST)
.send(`Bad request`);
}
next();
};
Код написан в
visual studio code
,
restclient api
установлен в виде расширения. После запуска сервера без ошибок, нажимаю на
send request
, и выводиться такое сообщение:
HTTP/1.1 400 Bad Request
X-Powered-By: Express
Content-Security-Policy: default-src 'none'
X-Content-Type-Options: nosniff
Content-Type: text/html; charset=utf-8
Content-Length: 1059
Date: Sat, 31 Oct 2020 13:08:22 GMT
Connection: close
В консоле такая ошибка:
SyntaxError: Unexpected token  in JSON at position 2
Получается выполняется условие
if (!keysExists)
, но почему, если данные одни и те же, и как это исправить?