Módulos, Express y REST

Módulos

DOCUMENTACION ACTUALMENTE NO DISPONIBLE

Express

Express es un framework de aplicaciones web Node.js mínimo y flexible que proporciona un conjunto robusto de características para aplicaciones web y móviles.

APIs

Debido a que posee varias utilidades, métodos y middlewares Express nos facilita la creación de APIs.

Instalación

cd myapp
npm init
npm install express --save

Crear un servidor con Express

const express = require('express')
const app = express()

app.get('/', (req, res) => res.send('Hello World!'));

app.listen(3000,  () => console.log('Example app listening on port 3000!'));

Rutas básicas

Enrutamiento se refiere a determinar cómo una aplicación responde a una solicitud de un cliente a un endpoint (URI) determinado, esto es una ruta y un método de solicitud HTTP específico (GET, POST, etc.).

Cada ruta puede tener uno o más handlers, que se ejecutan cuando la ruta se corresponde.

La definición de ruta adopta la siguiente estructura:

App.METHOD (PATH, HANDLER)

Dónde:

Ejemplo:

const express = require('express');
const app = express();

app.get('/', (req, res) => res.send('Hello World!'));

app.post('/', (req, res) => res.send('Got a POST request'));

app.put('/', (req, res) => res.send('Got a PUT request'));

app.patch('/user', (req, res) => res.send('Got a PUT request at /user'));

app.delete('/user', (req, res) => res.send('Got a DELETE request at /user'));

app.listen(3000,  () => console.log('Example app listening on port 3000!'));

REST

Web service

Un servicio web es un software diseñado para soportar interacciones stateless (sin estado) maquina a maquina dentro de una red.

Web resource

Un recurso web está implícitamente definido como algo que puede ser identificado. Esta identificación posee dos propósitos distintos:

  1. Nombrar
  2. Direccionar

Todo lo que succeda por fuera de estas dos acciones dependen del protocolo.

Representational state transfer (REST)

Es una forma de proveer interoperativilidad entre sistemas informáticos a través de Web Services. Los mismos ofrecen acceso y manipulación de los Web resources.

En un Web service REST, las peticiones realizadas a un recurso (web resource) obtendrán una respuesta que podrá ser un XML, HTML, JSON o cualquier otro formato definido.

El protocolo mas comunmente utilizado para los servicios web es HTTP y las operaciones permitidas son predefinidas mediante los verbos http.

Verbos HTTP

GET

Utilizado para obtener uno o más recursos

POST

Utilizado para insertar un nuevo recurso

PUT

Utilizado para reemplazar un recurso

PATCH

Utilizado para actualizar parte de un recurso

DELETE

Utilizado para eliminar un recurso

Ejemplos y ejercicios

git clone https://github.com/utn-fullstack/clase3.git