1
resposta

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

Aparentemente o erro está na linha 11, ou seja: return res.status(201).json({ mensagem: "Produto cadastrado com Sucesso!" }), porém já fiz de tudo e não consigo resolver.

const database = require("../banco/database");

exports.insert = (req, res) => {
  const query = "INSERT INTO produto(id, descricao, preco) VALUES ($1, $2, $3);";
  const values = [req.body.id, req.body.descricao, req.body.preco];

  database.query(query, values).then(() => { 
     console.log('ta dando insert')
      return res.status(200).send({ mensagem: "Produto cadastrado com Sucesso!" });
   },
   (erro) =>{
     console.log('deu erro no insert')
     return res.status(500).send({ erro: erro});
   })
}
1 resposta

Olá Hyan! Tudo bem?

Esse erro geralmente ocorre quando você tenta enviar uma resposta para o cliente após já ter enviado uma resposta anteriormente.

O seu código não me parece que apresenta nenhum problema que poderia gerar esse erro. Então peço que verifique o local do código onde você está utilizando esse método, pois a forma que você faz a chamada e a passagem de parâmetros pode está causando esse problema.

Caso o problema persista, peço que compartilhe todo o seu projeto, via GitHub ou Drive do Google. Assim, entenderei melhor o seu problema.

Espero ter ajudado e bons estudos!

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