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 🙌

Podemos construir un server con sólo utilizar la funcionalidad que nos da el módulo http de 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

BONUS🔥🔥🔥

 

Deploy con Now

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

  • 149