1
resposta

[Dúvida] Não consigo fazer a buscar por id, sempre retorna não encontrado

     static listarProdutosPorID = async (req, res)=>{
        try{
            const id = req.params.id;
            const produto = await produtos.findById(id).populate('fornecedor', 'nome')

            if( produto !== null){
                exec((err, produtos)=>{res.status(200).send(produto)});
            }else{
                res.status(404).send({message:`id usuario nao encontrado `});
            }  
        }catch(err){
           if(err instanceof mongoose.Error.CastError) {
            res.status(400).send({message:"um ou mais dados fornecidos estao incorretos"});
           }else{
            res.status(500).send({message:"Erro interno de servidor"});
           }
        }
     } 
1 resposta

Oi, Diogo, tudo bom?

Me parece que não há nada de errado com o seu código. Então provavelmente o erro está na requisição que você está fazendo. Se assegure de que você está realizando a requisição para a rota correta (por exemplo, no seu caso, talvez seja /produtos/:id) e se você está utilizando o método correto, que deve ser o método GET.

E no caminho da rota, se assegure de que está realmente colocando um ID de produto válido cadastrado no seu banco de dados. Para facilitar, você pode fazer um GET /produtos para listar todos os produtos cadastrados, e em seguida copie o ID de um deles.

Espero ter ajudado! Qualquer coisa pode chamar novamente.

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