Talleres pasados

Crea tu propia API-REST desde cero con NodeJs y Express – Parte 1

Jueves 10 de Agosto de 2023

Embárcate en un viaje de descubrimiento y aprende a manejar las peticiones básicas en Node.js y Express.

¡Revive el taller online!

Resumen

En este taller, no es necesario tener conocimientos avanzados de Node.js ni de Express. Basta con tener nociones básicas de JavaScript para poder seguir adelante. Empezaremos con una breve introducción sobre qué es Node.js y Express antes de entrar en materia.

Node.js permite ejecutar JavaScript del lado del servidor. Antes de Node.js, JavaScript solo podía ejecutarse dentro de un navegador. Node.js utiliza el motor de renderizado V8 de Google, que es de código abierto. Esto nos permite ejecutar JavaScript en el servidor, brindándonos ventajas y desventajas comparadas con otros lenguajes de backend como Java.

Ventajas y desventajas de Node.js

Ventajas

  • Naturaleza asíncrona de JavaScript: Node.js permite manejar múltiples solicitudes simultáneamente gracias a su naturaleza asíncrona.
  • No acceso a hilos del procesador: Esto facilita la gestión de muchas consultas sin saturar el procesador.

Desventajas

  • Limitaciones en procesamiento intensivo: Node.js no es ideal para tareas que requieren mucho procesamiento del CPU, como el tratamiento de imágenes.

Qué es Express

Express es un framework minimalista para Node.js que facilita la creación de aplicaciones web y APIs REST. Entre sus características principales se encuentra el manejo de peticiones HTTP, la capacidad de definir rutas y el uso de middlewares.

Middlewares en Express

Los middlewares son funciones que se ejecutan durante el ciclo de vida de una solicitud HTTP. Pueden modificar la solicitud, la respuesta o detener el ciclo de vida de la solicitud.

Estructuración de una aplicación con Express

Instalación y configuración de Express

Primero, creamos nuestra aplicación e instalamos las dependencias necesarias:

npm init -y
npm install express

Luego, configuramos nuestra aplicación:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.listen(PORT, () => {
    console.log(`Server is running on port ${PORT}`);
});

Manejo de rutas y peticiones

Petición GET

Para manejar una petición GET, definimos una ruta y enviamos una respuesta JSON:

app.get('/', (req, res) => {
    res.status(200).json({ message: 'Bienvenida gracias por echar un cable' });
});

Petición POST

Para manejar una petición POST, definimos otra ruta y manejamos los datos recibidos:

app.post('/', (req, res) => {
    const { user, password } = req.body;
    res.status(200).json({ message: `Usuario: ${user}, Contraseña: ${password}` });
});

Estructuración avanzada: Controladores y Rutas

En aplicaciones más complejas, es recomendable separar la lógica de las rutas y los controladores. Creamos una carpeta routes y un archivo user.js:

const express = require('express');
const router = express.Router();

router.get('/', (req, res) => {
    res.status(200).json({ message: 'Ruta de usuario' });
});

module.exports = router;

Luego, lo incluimos en nuestro archivo principal app.js:

const userRouter = require('./routes/user');
app.use('/user', userRouter);

Conclusión

En esta primera parte del taller, hemos visto cómo iniciar una aplicación básica de Node.js con Express, manejar peticiones GET y POST, y estructurar nuestra aplicación utilizando rutas y controladores. En la siguiente parte, profundizaremos en el uso de bases de datos y la autenticación con JWT.

Participantes

Ponente:

Desarrollador de software, amante de sistemas basados en GNU/Linux y apasionado del mundo Maker, de la impresión 3D y la electrónica

También te puede interesar...

Viernes 24 de Octubre
Cloud, desarrollo & DevOps
Jueves 9 de Octubre
Cloud, desarrollo & DevOps
Jueves 25 de Septiembre
Cloud, desarrollo & DevOps
Jueves 11 de Septiembre
Cloud, desarrollo & DevOps
Entérate de nuestros próximos talleres
Suscríbete a nuestro newsletter para recibir nuestras novedades.
Talleres nuevos todas las semanas.
Recibe nuestras novedades para no perderte ninguno.