Olá Pessoal, estou precisando de uma ajuda.
Estou finalizando o curso ORM com NodeJS utilizando o Sequelize, porém no final do curso ao adicionar no Contoller pessoa o put, post e delete e tentar testar no Postman o mesmo informa que não foi localizado a rota "/pessoas/1/matricula". Fiz o teste com o GET e o mesmo retornou corretamente. Preciso de uma ajudar para tentar entender se é a configuração das rotas no router que estão incorretas ou se é no controller.
Segue o código da PessoaContoller:
static async crieUmaMatricula(req, res) {
const { estudanteId } = req.params;
const novaMatricula = { ...req.body, estudanteId: Number(estudanteId) };
try {
const novaMatriculaCriada = await database.Matriculas.create(novaMatricula);
return res.status(200).json(novaMatriculaCriada);
} catch (erro) {
return res.status(500).json(erro.message);
}
}
static async atualizarUmaMatricula(req, res) {
const { estudanteId, matriculaId } = req.params;
const novaInfo = req.body;
try {
await database.Matriculas.update(novaInfo, {
where: {
id: Number(matriculaId),
estudante_id: Number(estudanteId)
}
});
const matriculaAtualizada = await database.Matriculas.findOne({
where: {
id: Number(matriculaId)
}
});
return res.status(200).json(matriculaAtualizada);
} catch (erro) {
return res.status(500).json(erro.message);
}
}
static async apagaMatricula(req, res) {
const { estudanteId, matriculaId } = req.params;
try {
await database.Matriculas.destroy({ where: { id: Number(matriculaId), estudante_id: Number(estudanteId) } });
return res.status(200).json({ mensagem: `O ID ${matriculaId} foi excluído` });
} catch (erro) {
return res.status(500).json(erro.message);
}
}
Segue o arquivos das rotas:
const { Router } = require('express');
const PessoaController = require('../controllers/PessoaController.js');
const router = Router();
router.get('/pessoas', PessoaController.pegaTodasAsPessoas);
router.get('/pessoas/:id', PessoaController.pegaUmaPessoa);
router.post('/pessoas', PessoaController.crieUmaPessoa);
router.put('/pessoas/:id', PessoaController.atualizarUmaPessoa);
router.delete('/pessoas/:id', PessoaController.apagaPessoas);
router.get('/pessoas/:estudanteId/matricula', PessoaController.pegaTodasAsPessoas);
router.get('/pessoas/:estudanteId/matricula/:matriculaId', PessoaController.pegaUmaMatricula);
router.post('pessoas/:estudanteId/matricula', PessoaController.crieUmaMatricula);
router.put('pessoas/:estudanteId/matricula/:matriculaId', PessoaController.atualizarUmaMatricula);
router.delete('pessoas/:estudanteId/matricula/:matriculaId', PessoaController.apagaMatricula);
module.exports = router;