Cómo escribir una API REST en TypeScript en 30 minutos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course
```html

Introducción: ¿Por qué TypeScript para REST API?

El desarrollo web moderno es impensable sin crear APIs eficientes y seguras. TypeScript, como superconjunto de JavaScript, ofrece tipado estático, lo que reduce significativamente la cantidad de errores en tiempo de ejecución y mejora la legibilidad del código. En esta guía, mostraremos cómo escribir una REST API completa en TypeScript en solo 30 minutos. Aprenderás a configurar el proyecto, crear endpoints básicos y manejar errores. Este tutorial es ideal para desarrolladores principiantes que quieren dominar rápidamente la creación de aplicaciones de servidor.

Configuración del entorno e instalación de dependencias

Primero, es necesario crear un nuevo proyecto e instalar todos los paquetes necesarios. Asegúrate de tener instalados Node.js (versión 18 o superior) y npm.

Paso 1: Inicialización del proyecto

Abre la terminal y ejecuta los siguientes comandos:

mkdir my-rest-api
cd my-rest-api
npm init -y

Paso 2: Instalación de TypeScript y dependencias

Instala TypeScript, Express y los tipos necesarios:

npm install express
npm install -D typescript @types/node @types/express ts-node nodemon
  • express — framework para crear el servidor.
  • typescript — compilador de TypeScript.
  • @types/express — tipos para Express.
  • ts-node — para ejecutar TypeScript directamente.
  • nodemon — reinicio automático del servidor ante cambios.

Paso 3: Configuración de tsconfig.json

Crea el archivo tsconfig.json en la raíz del proyecto:

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "outDir": "./dist",
    "rootDir": "./src",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules"]
}

Creación del servidor básico en TypeScript

Ahora crearemos la estructura de carpetas y el archivo principal del servidor.

Paso 4: Estructura del proyecto

Crea la carpeta src y el archivo src/index.ts:

mkdir src
touch src/index.ts

Paso 5: Escritura del servidor

Abre src/index.ts y agrega el siguiente código:

import express, { Request, Response } from 'express';

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

// Middleware para parsear JSON
app.use(express.json());

// Ruta básica
app.get('/', (req: Request, res: Response) => {
    res.send('¡REST API en TypeScript funcionando!');
});

// Inicio del servidor
app.listen(PORT, () => {
    console.log(`Servidor iniciado en el puerto ${PORT}`);
});

Paso 6: Agregar scripts en package.json

Actualiza package.json agregando scripts para desarrollo y compilación:

"scripts": {
  "dev": "nodemon --exec ts-node src/index.ts",
  "build": "tsc",
  "start": "node dist/index.js"
}

Ahora inicia el servidor con el comando npm run dev. Deberías ver el mensaje "Servidor iniciado en el puerto 3000".

Implementación de endpoints CRUD

Crearemos un modelo de datos simple e implementaremos las operaciones de crear, leer, actualizar y eliminar (CRUD). Como ejemplo, tomaremos la entidad "Tarea" (Task).

Paso 7: Creación del modelo y almacenamiento

Crea el archivo src/models/Task.ts:

export interface Task {
    id: number;
    title: string;
    completed: boolean;
}

// Almacenamiento temporal en memoria
export const tasks: Task[] = [
    { id: 1, title: 'Aprender TypeScript', completed: false },
    { id: 2, title: 'Escribir REST API', completed: false },
];

Paso 8: Creación de rutas

Crea el archivo src/routes/tasks.ts:

import { Router, Request, Response } from 'express';
```

Blogs

Book Recommendations