¿Cómo enviar un código de estado 404 con un mensaje en Express?

Enviando un estado 404 con un mensaje en Express

Express es un marco de aplicación web para Node.js, diseñado para construir aplicaciones web y API. Permite manejar eficientemente las solicitudes y respuestas http entre el servidor y el cliente. Una de las funcionalidades que ofrece es la posibilidad de personalizar la respuesta de estado HTTP que se envía al cliente.

En particular, cuando querramos enviar un código de estado HTTP 404, que indica que el servidor no pudo encontrar el recurso solicitado, junto con un mensaje personalizado, podemos usar el método status() en el objeto res, quien se encarga de manejar la respuesta HTTP.

El código res.status(404).send('No encontrado') es el enfoque correcto para lograr esto. Aquí está cómo se ve en el contexto de una aplicación Express:

app.get('/ruta-no-existente', function(req, res) {
  res.status(404).send('No encontrado');
});

En este ejemplo, cuando un cliente solicita la ruta '/ruta-no-existente', Express devolverá un código de estado HTTP 404 con un mensaje 'No encontrado'.

Es importante destacar que el código de estado debe ser un número, y el mensaje es una cadena de texto que describe la situación.

Los otros métodos propuestos en la pregunta, como res.send(404, 'No encontrado') y res.sendStatus('404 No encontrado'), no son correctos.

El método send() sólo acepta un argumento, que es la respuesta que se enviará al cliente. Y sendStatus() toma un código de estado como argumento, pero no puede incluir un mensaje personalizado.

Por lo tanto, la manera consistente y recomendada para enviar un código de estado HTTP con un mensaje personalizado en Express es usando la sintaxis res.status(código).send('mensaje').

Al usar Express y trabajar con respuestas HTTP, es importante recordar siempre manejar las respuestas de manera apropiada. No sólo mejora la experiencia del usuario final, sino que también puede ayudar con la depuración y el seguimiento de problemas en tu aplicación.

Related Questions

¿Te resulta útil?