const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.write('Hello World');
res.end();
});
server.on('request', () => {
console.log('New request!');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
Nuestro segundo servidor en Node 🙌
🤔
Che y cómo hago mi primer API?
Necesito al menos tener un servidor, definir endpoints, el formato de respuesta
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
if (req.url === '/pizza') {
res.write(JSON.stringify(['Muzza, Especial, Fugazzeta, Jamón y Morrón, Veggie']));
} else if (req.url === '/frutas') {
res.write(JSON.stringify(['Manzana, Banana, Tomate, Kiwi, Uva']));
} else {
res.write(JSON.stringify('Ni idea'));
}
res.end();
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
Nuestra primer API en Node! 🙌
Y cuando crezca mi app y tenga muchos endpoints, no se va complicando cada vez más?
Si.

Es un framework liviano para crear aplicaciones web con Node
API de Express
Hello World
(Express Edition)
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => res.send('Hello World!'));
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
🔥
Ahora veamos la API versión Express
Parámetros
Query Params
key1=value1&key2=value2&...
Path Params
API Express v2
Controladores
API Express v3
Postman
OJO! 👀
El orden en el que definimos las rutas es importante, mientras más específica sea una ruta, más prioridad tendrá sobre el resto

Las rutas más específicas deben definirse antes
Ejercicio
Usando el ejemplo anterior, crear nuestra propia API:
definir los endpoints y la funcionalidad asociada (controladores), documentar la API en HTML y por último publicarla (now) para que cualquiera pueda utilizarla
Intro a NodeJS y Express, Parte 2
By Nicolás Quiroz
Intro a NodeJS y Express, Parte 2
- 215