notei que as validaçoes com if nas function valida apenas para letras (ex:batata mais se colocar um numero ex:55 ele valida com 200/OK) e isso msm ?
notei que as validaçoes com if nas function valida apenas para letras (ex:batata mais se colocar um numero ex:55 ele valida com 200/OK) e isso msm ?
Sim, isso mesmo. Ao perceber que não era uma verificação totalmente eficaz mudei o meu if.
function patchLivro(req, res) {
try {
const id = req.params.id;
if(id && Number(id)) {
const livro = getLivroPorId(id);
if(livro) {
const body = req.body;
modificaLivro(body, id)
res.send("item modificado com sucesso")
} else res.status(404).send("Livro não encontrado")
} else res.status(422).send("Id inválido")
} catch (error) {
res.status(500).send(error.message)
}
}
Aqui ele faz todas as verificações, mas não é interessante ter tantos if's no controler.
function getLivro(req, res) {
const id = req?.params?.id;
if (!id && typeof(id) !== 'number') {
res.status(422).send("Id inválido")
return
}
const livro = getLivroPorId(id, res);
res.send(livro)
}
Pode tentar utilizar essa lógica.