1

Levantar un servicio web con Express

Las APIs son, como sus siglas en inglés lo dicen, una interfaz de programación de aplicaciones, que nos ofrece la manera de manipular información en el backend, permitiendo conectarlo con nuestro frontend en un desarrollo de software, ya sea implementación web o de escritorio. Considerando su forma de exposición, la API podrá seguir siendo la misma y reutilizada sea cual sea la parte frontend o interfaz gráfica de cara al usuario. Ahora que ya te di un poco de contexto sobre qué son las APIs, vamos a ver cómo implementar una del tipo REST (Representational State Transfer) que viene siendo simplemente una convención para desarrollar servicios web utilizando el protocolo HTTP. Ahora si, vamos a por ello!

Primero, crearemos un servidor con Express, uno de los frameworks más usados, junto con las herramientas de Node.js y typescript, utilizando NPM como gestor de paquetes.

En consola, vamos a ejecutar los siguientes comandos:

  1. npm init --yes
    Inicia un proyecto npm con valores por defecto, generando el archivo package.json con lo mínimo requerido.
  2. npm i express
    Instala el framework express.
  3. npm i -D typescript @types/express @types/node
    Instala como dependencia de desarrollo typescript y las librerías de tipados correspondientes a express y node.
  4. npx tsc --init
    Inicializa lo necesario para trabajar con typescript, creando básicamente el archivo tsconfig.ts.
  5. npm i ts-node
    Instala una herramienta que permite ejecutar y depurar archivos typescript directamente en Node. js sin necesidad de compilarlos previamente a JS.

Luego de ejecutar estos comandos, en el archivo tsconfig.json vamos a verificar que tengamos lo siguiente:

  • “outDir”: “./dist”
  • “rootDir”: “./src”

Creamos la carpeta src en el origen del workspace.
Creamos el archivo index.ts dentro de la nueva carpeta, en el cual escribiremos las siguientes líneas para levantar un servidor con express.

	import express, { Express, Request, Response } from "express";
	const app: Express = express();
	const port = 3000;

	app.get("/", (req: Request, res: Response) => {
	  res.send("Express + TypeScript Server");
	});

	app.listen(port, () => {
	  console.log(`[server]: Server is running at http://localhost:${port}`);
	});

Luego, debemos agregar estas líneas en la sección “scripts” en el archivo package.json

	"scripts": {
		"build": "tsc -p tsconfig.json",
		"start": "npm run build && node dist/index.js"
	 }

Y finalmente ejecutaremos el siguiente comando en la consola:
npm run start

Veamos que los pasos con express son bastante sencillos y cortos, y en pocos pasos tenemos un servidor corriendo en el puerto indicado.
Ahora sobre este servidor, ya podemos implementar las distintas peticiones HTTP.

Escribe tu comentario
+ 2