Маршруты
const express = require('express');
const { check } = require('express-validator');
const logControllers = require('../controllers/log-controllers');
const router = express.Router();
router.post('/',
[
check('title')
.not()
.isEmpty()
],
logControllers.createLogEntry
);
logControllers
const uuid = require('uuid/v4');
const { validationResult } = require('express-validator');
const HttpError = require('../models/http-error');
let DUMMY_LOGENTRIES = [
{
id: "j1",
title: "king"}]
const createLogEntry = (req, res, next) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
console.log(errors);
throw new HttpError('Invalid inputs passed, please check your data.', 422);
}
const { title } = req.body;
const createdLogEntry =
//new logEntry(
{
id: uuid(), title
};
DUMMY_LOGENTRIES.push(createdLogEntry);
res.status(201).json({ logEntry: createdLogEntry });
};
Когда я удаляю валидаторы, POST-запрос работает, но с валидатором Nodemon возвращает:
formatter: [Function: formatter],
errors: [
{
value: undefined,
msg: 'Invalid value',
param: 'title',
location: 'body'
},
Бонусный вопрос: Без валидатора возвращаемым ответом является только uuid ... не заголовок, и я не могу понять, почему, так как я запрашиваю полный madeLogEntry, который должен возвращать title и uuid. Мысли?