3
respostas

Sobre método get | document.findByID

Ou seja, se eu criar um autor e ele gerar uma id XYZ, eu consigo ver ele lá Insomnia no método listarAutores (para listar todos) e também consigo buscar usar o listarAutorPorId e ele irá retornar o autor que foi cadastrado no banco, porém após utilizar o método removerAutor para excluir um autor xyz, quando eu volto no Insomnia para usar o metodo listarAutorPorId ele ainda continua entrando no IF, mesmo não retornando mais nenhuma informação.

Alguém sabe me informar porque isso acontece?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Nessa última imagem está o exemplo do que falei, ele ainda retorna código 200, mesmo não existindo mais o registro no banco

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Essa imagem acima é o print da tabela de Autores exatamente após excluir

3 respostas

Olá Guilherme, tudo bem?

Desde já peço desculpa pela demora para respondê-lo.

Pelo print que você enviou, percebi que mesmo após a exclusão, o código ainda retorna 200.

Bom, isso acontece porque o método findById retorna null caso não encontre nenhum registro no banco de dados. E, quando isso acontece, o código não entra no if que você colocou para verificar se o autor existe.

Para resolver isso, você pode adicionar uma verificação para o caso em que o findById retorna null. Por exemplo:

if (!autores) {
  res.status(400).send({ mensagem: "Autor não encontrado" });
}

// Restante do código

Dessa forma, caso o autor não seja encontrado, o código irá retornar um status 400 informando que o autor não foi encontrado.

Espero ter ajudado. Caso tenha mais algum problema ou dúvida, com relação ao tópico, estarei à disposição para ajudá-lo.

Grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Nossa, me desculpe mas quando assinei a alura esperava um suporte um pouco melhor.

7 meses depois de postar a dúvida...

Guilherme, peço desculpas por termos demorado tanto em te responder e ter tido impacto no seu aprendizado.

Sabemos que independente do tempo que a postagem foi feita é necessário levarmos um retorno e darmos um norte para nossos estudantes. Temos trabalhado diariamente para diminuir o tempo de resposta e sermos cada vez mais velozes, é um processo contínuo de melhoria e entendemos que temos que melhorar.

Agradeço por expor seu relato e fico à disposição caso surjam novas dúvidas.

Abraços!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software