1
resposta

Como impedir que minha aplicação node.js "crash" quando receber um json inválido

Bom Dia Pessoal,

Estou fazendo o desenvolvimento de algumas APIs em node.js e estou conseguindo avançar bem com o conhecimento que obtive nos cursos da Alura. Estou finalizando o desenvolvimento e preparando para entrada em produção, contudo, quando envio, via postman por exemplo, um JSON inválido numa ação de POST de alguma API apresenta o "crash" e a aplicação não é estabelecida novamente, sendo necessário que eu execute o comando "node index.js" novamente para a aplicação ficar novamente disponível. Existe alguma forma prática de tratar isso ?

1 resposta

Eu vejo duas formas de resolver o problema, a primeira seria capturar os erros do tipo "500". Quando você tenta ler um JSON inválido, um status deste tipo é gerado. Aqui tem um exemplo de como isso pode ser feito (NodeJS + Express)

https://derickbailey.com/2014/09/06/proper-error-handling-in-expressjs-route-handlers/

A outra forma seria fazer um try-catch dentro da rota, ou seja, guardar o JSON recebido numa variável e parsear para ver se é válido, em caso positivo, prosseguir. Aqui tem uma discussão de como fazer isso:

https://stackoverflow.com/questions/29797946/handling-bad-json-parse-in-node-safely