"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Conceptos básicos de Express.js

Conceptos básicos de Express.js

Publicado el 2024-11-07
Navegar:688

Express.js Essentials

Este artículo se centra en los aspectos esenciales que debe conocer de Express.js, una parte clave de la creación de aplicaciones backend con Node.js. Me sumergiré en el enrutamiento, las operaciones CRUD, los métodos de respuesta y las funciones de middleware, todos los cuales desempeñan un papel fundamental en la creación de aplicaciones web sólidas.

Aspectos destacados del concepto:

  1. Métodos de ruta y CRUD
  2. Parámetros de enrutamiento
  3. Manejadores de ruta
  4. Métodos de respuesta
  5. Funciones de middleware integradas

1. Métodos de ruta y CRUD

En Express.js, los métodos de ruta definen cómo responde su aplicación a diferentes solicitudes HTTP (por ejemplo, GET, POST, PUT, DELETE) para rutas específicas. Estos métodos se utilizan para implementar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en su aplicación.

Ejemplo CRUD básico: En este ejemplo, cada ruta responde a una operación CRUD diferente según el método HTTP utilizado.

const express = require('express'); 
const app = express(); 

// Create - POST
app.post('/users', (req, res) => {
  res.send('User created');
}); 

// Read - GET
app.get('/users', (req, res) => {
  res.send('Here is the user'); 
}); 

// Update - PUT
app.put('/users/:id', (req, res) => {
  res.send('User with ID ${req.params.id} updated'); 
});

// Delete - DELETE
app.delete('/users//:id', (req, res) => {
  res.send('User with ID ${req.params.id} deleted');
}):

app.listen(3000, () => 
  console.log('Server running on port 3000')
);

2. Parámetros de enrutamiento

Los parámetros de enrutamiento le permiten capturar partes específicas de la URL de solicitud y utilizarlas dentro de sus controladores de ruta. Por ejemplo, puede extraer una ID de la URL y utilizarla para realizar una acción relacionada con esa ID.

por ejemplo) En este ejemplo, :id es un parámetro dinámico, que se extraerá y utilizará en la respuesta. Si este parámetro dinámico es 123, una solicitud a /users/123 devolverá "Buscando usuario con ID: 123".

app.get('/users/:id', (req, res) => {
  const userId = req.params.id; 
  res.send(`Fetching user with ID: ${userId}`);
});

3. Controladores de ruta

Los controladores de ruta definen cómo su servidor maneja las solicitudes HTTP. Puede definir múltiples funciones de middleware dentro de una única ruta, lo que permite un código más limpio y modular.

Ejemplo con varios controladores: En este ejemplo, el primer middleware registra un mensaje y el segundo middleware envía la respuesta.

app.get('/users', (req, res, next) => {
  console.log('First middleware');
  next(); // call the next handler in the stack
}, (req, res) => {
  res.send('User list'); 
});

4. Métodos de respuesta

Express.js proporciona varios métodos para enviar respuestas al cliente. Exploremos algunos métodos de respuesta comúnmente utilizados.

a) .json() envía una respuesta JSON.

app.get('/data', (req, res) => {
  res.json({ message: 'Hello, JSON' });
});

b) .send() envía una respuesta de varios tipos (texto, HTML, buffer, etc.).

app.get('/text', (req, res) => {
  res.send('Sending text');
});

c) .download() envía un archivo como archivo adjunto, solicitando al usuario que lo descargue.


app.get('/download', (re




Declaración de liberación Este artículo se reproduce en: https://dev.to/ryoichihomma/expressjs-essentials-5e83?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3