Mi problema parece ser bastante simple y común, pero, sin embargo, parece que no puedo encontrar nada al respecto después de horas de investigación:
Quiero recuperar datos JSON en Node.js a través de http-POST usando Express. Para mantenerlo simple, quiero usar app.use(express.json()); función (ver código).
Cuando los datos JSON tienen la sintaxis JSON correcta, todo funciona bien, pero cuando hay un error de sintaxis en los datos JSON, maneja el error por sí solo, respondiendo automáticamente al cliente y registrando un gran mensaje de error en la consola. . Lo que me gustaría hacer es manejar el error de la manera que quiero, pero no estoy seguro de cómo puedo hacerlo.
El código que estoy usando es el siguiente:
const express = require('express'); const app = express(); app.use(express.json()); app.post('/', function(req, res) { // do something with the retreived JSON-data });¡Estaría muy agradecido si alguien pudiera darme una sugerencia/solución! :)
Podría manejar errores JSON mal formados usando esto, ya que el error es una instancia de SyntaxError
app.use((error, request, response, next) => { if (error instanceof SyntaxError) response.status(404).send('your error message'); else next(); });