Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Melhoria no tratamento de erros do metodo buscar por ID na API

No projeto da API Rest em Node.js, na parte de tratamento de erros nos metodos listarAutorPorID e listarLivroPorID nos arquivos Controller, eu implementei uma forma um pouco diferente da forma passada em aula, com um pouco mais de detalhes, fiz os testes no postman e deu tudo certo.

Dentro do try, catch ficara assim:

            try {

            const id = req.params.id;

            // Valida se o ID fornecido é válido no formato MongoDB
            // Verificação se o ID é válido usando o método do Mongoose
            if (!mongoose.Types.ObjectId.isValid(id)) {
                return res.status(400).json({ message: "ID inválido" });
            }

            const autorEncontrado = await autor.findById(id);

            // Verifica se o autor foi encontrado
            if (!autorEncontrado) {
                return res.status(404).json({ message: "Autor não encontrado" });
            }

            res.status(200).json(autorEncontrado);

        } catch (erro) {

            // Caso o erro seja interno no servidor (falha de conexão, etc.)
            res.status(500).json({ message: `${erro.message} - Erro interno no servidor` });
        }

A estrutura vai ser a mesma para os dois metodos, livro e autor, só mudar os nomes.

2 respostas
solução!

Uma melhoria com um pouco mais de detalhes, espero que tenha ajudado.

Oi, José. Tudo bem?

Obrigada por compartilhar seu código com a gente.

Gostei de como você implementou um tratamento de erros mais detalhado para o método buscar por ID. Verificar a validade do ID antes de procurar o autor realmente torna o código mais seguro e ajuda a evitar erros desnecessários.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!