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}/`);
});
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}/`);
});
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
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
key1=value1&key2=value2&...
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
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