Entrada

Métodos de respuesta

¿Qué es express?

Express.js es un framework web minimalista para Node.js. No hace magia, te da solo lo necesario para manejar rutas, middlewares, peticiones y respuestas HTTP. Es como un lienzo limpio sobre el que puedes construir lo que necesites.

Ventajas

Algunas de las principales ventajas de express:

  • Rápido y liviano.
  • Middleware-based: todo pasa por funciones encadenadas.
  • Extremadamente flexible.
  • Gran ecosistema y comunidad.

Setup Inicial

1. Iniciar el proyecto:

1
npm init -y

2. Instalar express:

1
npm install express

Configuración del servidor

1
2
3
4
5
6
const app = require('./src/app');
const PORT = process.env.PORT || 3000;

app.listen(PORT, () => {
  console.log(`Servidor corriendo en http://localhost:${PORT}`);
});
📁 src/controllers/
user.controller.js
1
2
3
4
5
6
7
8
9
10
11
12
const users = [];

exports.getAllUsers = (req, res) => {
	res.status(200).json(users);
}

exports.createUser = (req, res) => {
	const { name, email } = req.body;
	const newUser = { id: Date.now(), name, email };
	users.push(newUser);
	res.status(201).json(newUser);
}

Los métodos en el objeto de respuesta descrito como res en la siguiente tabla puede enviar una respuesta al cliente y terminar el ciclo de solicitud/respuestas si ninguno de estos métodos se invocan desde un manejador de rutas la solicitud del cliente se dejará colgada.

MétodoDescripción
res.download()Solicita un archivo para descargarlo.
res.end()Finaliza el proceso de la respuesta.
res.json()Envia una respuesta JSON.
res.jsonp()Envia una respuesta JSON con soporte JSONP.
res.redirect()Redireccionar una solicitud.
res.render()Representar una plantilla de vista.
res.send()Envia una respuesta de varios tipos.
res.sendFile()Envía un archivo como secuencia oectetos.
res.sendStatus()Establece el código de estado de la respuesta y envía su representación de serie como cuerpo de respuesta.
1
res.download(path[,filename][,options][,fn])
1
2
res.download("/report-1234.pdf");
res.download("/report-1234.pdf", "report.pdf");
1
res.end([data][,encoding])
1
2
res.end()
res.status(404).end()
1
2
3
res.json(null);
res.json({user: 'mcherrera'});
res.json({data: [{},{},{}]});
1
res.redirect([status,]path)
1
2
3
res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');
1
res.render(view, [,locals][,callback])
Esta entrada está licenciada bajo CC BY 4.0 por el autor.