Aprende a Desarrollar una REST API Usando JavaScript con Node.js y SQL Server
En este artículo aprenderás paso a paso cómo desarrollar una REST API utilizando JavaScript con Node.js como entorno de ejecución y SQL Server como sistema gestor de bases de datos (DBMS). Esta combinación es ideal para construir aplicaciones modernas que requieren un backend sólido y eficiente para manejar datos.
Requerimientos Previos
Antes de empezar, asegúrate de cumplir con los siguientes requisitos:
Instalación de Microsoft SQL Server
Descarga e instala Microsoft SQL Server desde su sitio oficial. SQL Server será nuestra base de datos para almacenar y manejar los datos de la API.Instalación de Node.js
Descarga e instala Node.js desde su página oficial. Node.js es el entorno que nos permitirá ejecutar JavaScript en el backend.Instalación de Visual Studio Code
Visual Studio Code (VSCode) será nuestro editor de código. Puedes descargarlo desde aquí.Instalación del paquete
mssql
de npm
El paquetemssql
nos permite interactuar con SQL Server desde Node.js. Lo instalaremos más adelante en este tutorial.
Programas Clientes para SQL Server
Aunque interactuaremos con SQL Server principalmente desde Node.js, es importante contar con herramientas para gestionar la base de datos de manera visual y simplificar tareas como ejecutar consultas o administrar tablas. Aquí tienes algunas opciones:
Extensión de Microsoft SQL Server para VSCode
Esta extensión te permite ejecutar consultas SQL directamente desde Visual Studio Code. Es muy útil para desarrolladores que ya trabajan con este editor.Azure Data Studio
Una herramienta gratuita y moderna de Microsoft diseñada para administrar bases de datos. Es ligera, multiplataforma y fácil de usar.Versiones Anteriores
Si prefieres usar herramientas clásicas, puedes optar por SQL Server Management Studio (SSMS), que es más robusto pero también más pesado. Es ideal para entornos corporativos.
Configuración Inicial del Proyecto
Paso 1: Crear un Proyecto de Node.js
- Abre una terminal en la carpeta donde deseas crear tu proyecto.
- Ejecuta los siguientes comandos para inicializar el proyecto:
Esto generará un archivomkdir rest-api-nodejs-sqlserver cd rest-api-nodejs-sqlserver npm init -y
package.json
básico para tu proyecto.
Paso 2: Instalar Dependencias Necesarias
Instalemos el paquete mssql
y otras herramientas útiles:
npm install mssql express body-parser
mssql
: Biblioteca para interactuar con SQL Server.express
: Framework minimalista para crear aplicaciones web y APIs.body-parser
: Middleware para manejar datos JSON enviados en las solicitudes HTTP.
Crear la Base de Datos en SQL Server
- Abre tu cliente preferido, como Azure Data Studio o SQL Server Management Studio.
- Ejecuta un script para crear una base de datos y una tabla. Por ejemplo:
CREATE DATABASE TestDB; USE TestDB; CREATE TABLE Users ( ID INT PRIMARY KEY IDENTITY(1,1), Name NVARCHAR(50), Email NVARCHAR(50), Age INT );
Esta base de datos y tabla serán la base de nuestra REST API.
Desarrollo de la REST API
Paso 1: Crear el Servidor Básico con Express
En el archivo index.js
de tu proyecto, configura un servidor básico:
const express = require('express');
const bodyParser = require('body-parser');
const sql = require('mssql');
const app = express();
app.use(bodyParser.json());
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
Paso 2: Configurar la Conexión con SQL Server
Añade la configuración para conectar con SQL Server:
const config = {
user: 'tu_usuario',
password: 'tu_contraseña',
server: 'localhost', // o tu dirección IP
database: 'TestDB',
options: {
encrypt: true, // Para Azure
trustServerCertificate: true, // Solo en desarrollo
}
};
sql.connect(config).then(pool => {
console.log('Conexión exitosa a SQL Server');
}).catch(err => console.error('Error al conectar con SQL Server:', err));
Paso 3: Crear Rutas para la API
Crea endpoints para interactuar con la base de datos:
Obtener todos los usuarios:
app.get('/users', async (req, res) => { try { const pool = await sql.connect(config); const result = await pool.request().query('SELECT * FROM Users'); res.json(result.recordset); } catch (err) { res.status(500).send(err.message); } });
Añadir un nuevo usuario:
app.post('/users', async (req, res) => { const { Name, Email, Age } = req.body; try { const pool = await sql.connect(config); await pool.request() .input('Name', sql.NVarChar, Name) .input('Email', sql.NVarChar, Email) .input('Age', sql.Int, Age) .query('INSERT INTO Users (Name, Email, Age) VALUES (@Name, @Email, @Age)'); res.send('Usuario agregado exitosamente'); } catch (err) { res.status(500).send(err.message); } });
Versiones Anteriores
Conclusión
Con esta guía, has aprendido a configurar y desarrollar una REST API usando Node.js y SQL Server. Este conocimiento te abre las puertas para construir aplicaciones backend robustas que pueden integrarse con sistemas empresariales y manejar grandes volúmenes de datos. ¡Anímate a seguir explorando y personalizando tu API para adaptarla a tus necesidades!