Express
Turbinando o
Morgan
Middleware de Log
Morgan é um middleware que cria logs das requisições HTTP recebidas pela aplicação.
yarn add morgan
const morgan = require("morgan");
//...
app.use(morgan('dev'));
index.js
Express Validator
Middleware de Validação
Express Validator é um middleware de validação e sanitização de dados disponível para aplicações Express.
yarn add express-validator
https://github.com/validatorjs/validator.js#validators
const { body, validationResult } = require('express-validator');
router.post(
'/login/registrar',
body('email').isEmail().not().isEmpty(),
body('senha').isLength({ min: 5 }),
(req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
// ...
},
);
rota/login.js
const { check, validationResult } = require('express-validator');
router.get(
'/:id?',
check('id').optional().isInt(),
(req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
// ...
},
);
rota/nota.js
const { body, validationResult } = require('express-validator');
router.post(
'/login/registrar',
body('email').isEmail().normalizeEmail(),
body('nome').trim(),
(req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
// ...
},
);
rota/login.js
Desafio
Adicionar validadores nas rotas dos recursos:
- pedido;
Validar e exibir mensagens para as situações abaixo:
- Validar campos obrigatórios ao criar um pedido;
- Buscar pedidos fornecendo um ID inteiro;
- Quando criar um pedido, validar se o atributo de enderecoEntrega foram informados;
- Quando criar um pedido, validar se o atributo produtos é um Array com itens;
- Quando criar um pedido, validar se o valorTotal é igual a soma dos produtos;
- Validar se o token vindo no header das requisições está no formato JWT;
Express Validator
By Alan Ferreira dos Santos
Express Validator
- 351