CREAR UNA API WEB CON NODE.JS Y EXPRESS

Prerrequisitos:
1) Git y Node.js instalados en su PC
2) Familiaridad con la edicion de texto y archivos de codigo en cualquier editor de texto
3) Familiaridad básica con el protocolo HTTP
4) Experiencia en el uso de la linea de comando, incluidas las operaciones de Git
Introducción
El uso de la web como plataforma para ejecutar su aplicación significa que cualquiera puede acceder a ella utilizando un navegador o un cliente o software que puede hablar HTTP, lo cual es poderoso.
Objetivos de aprendizaje
Al final de este modulo, podrás
1)Describir los conceptos centrales del framework web Express.
2)Configurar middleware para controlar como se maneja una solocitud.
3)Responda a solicitudes HTTP con diferentes tipos de contenido como texto y JSON
4)Enviar datos a un punto fina Express
Crear una nueva aplicacion web express
Las empresas a menudo tienen muchos datos almacenados en muchos lugares, como sistemas de archivos o bases de datos, por ejemplo.Una forma de acceder a esos datos es sirviéndolos a través de aplicaciones web y API utilizando HTTP.
Cosas importantes a tener en cuenta al crear aplicaciones web y API
1)Enrutamiento: Es un concepto en el que su aplicación se divide en diferentes secciones en función de partes de la direccion URL.
2)Admite diferentes tipos de contenido: Los datos que se pueden publicar pueden existir en diferentes formatos, como texto sin formato, JSON,HTML,CSV y mas.
3)Autentificacion o autorización: Algunos datos pueden ser confidenciales y pueden necesitar que el usuario inicie sesión o incluso tener un rol especifico o un nivel de permiso para poder acceder a ellos.
4)Lectura o escritura de datos: es muy probable que los usuarios necesiten mostrar datos y poder agregar datos al sistema,por ejemplo, ingresando datos en un formulario o cargando archivos.
5)Tiempo de comercialización: Las herramientas y bibliotecas elegidas para crear aplicaciones web y API deben incluir soluciones a problemas comunes para garantizar que el desarrollador pueda dedicar el mayor tiempo posible a la implementacion de los requisitos comerciales.
Modulo HTTP en Node.js
Node.js viene con un modulo http incorporado.Es un modulo bastante pequeño que es competente en el manejo de la mayoria de los tipos de solicitudes. Es capaz de trabajar con temas importantes como encabezados URL y cargas que se envian.
Las siguientes clases ayudan a gestionar una solicitud de principio a fin:
1) http.Server: este objeto representa una instancia de un servidor HTTP. Este objeto necesita instrucciones para escuchar diferentes eventos en un puerto y dirección específicos.
2) http.IncomingMessage: este objeto es una secuencia legible creada por http.Server o http.ClientRequest. Puede usarlo para acceder a cosas como estado, encabezados y datos.
3) http.ServerResponse: este objeto es una secuencia creada internamente por el servidor HTTP. Esta clase le permite definir como debería ser la respuesta en términos de que encabezados debería tener; cual debería ser la respuesta, etc.
EJEMPLO DE APLICACIÓN WEB
A continuación se muestra un ejemplo del aspecto que puede tener una aplicación web
const http = require('http');
const PORT = 3000;
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('hello world');
});
server.listen(PORT, () => {
console.log(`listening on port ${PORT}`)
})
Aquí tratare de explicar algunas cosas interesantes que suceden en el ejemplo
1) Creación del servidor: lo que se ve arriba es como la llamada a createServer() crea una instancia de http.server.
2) Implementacion de la devolución de llamada: el método createServer() espera una función, una llamada devolución de llamada que cuando se invoca se proporciona con instancias de http.IncomingMessage y http.ServerResponse, aqui se llaman res y reg.
-La solicitud del cliente: la instancia reg puede investigar que encabezados y datos se han enviado como parte de la solicitud del cliente.
-La respuesta del servidor: depende del servidor construir una respuesta instruyendo el objeto res con que datos y encabezados de respuesta debe responder.
3) Comience a escuchar las solicitudes: el servidor creado a partir de la llamada a createServer() se puede escuchar invocando el método listen() al especificar un puerto. Después de llamar listen(), el servidor ahora esta listo para aceptar solicitudes de clientes.
Los parámetros reg y res del ejemplo que viste arriba son flujos. Cuando escuche los datos entrantes de una solicitud del cliente, usara el metodo on() de la siguiente manera
Código
req.on('data', (chunk) => {
console.log('You received a chunk of data', chunk)
})
Por el contrario, la forma en que los datos se envian de vuelta al cliente es mediante la colocacion de datos en el flujo de respuesta res invocando el metodo end() de la siguiente manera.
Código
res.end('some data')
EXPRESS
Por que usar express para nuestra próxima aplicación
1) Excelentes caracteristicas : Express tiene un conjunto de características que lo convierten en un desarrollador rápido y productivo.
2)Extrae la complejidad : Los resúmenes extraen conceptos complicados como Streams por ejemplo , y por lo tanto hacen que la experiencia de desarrollo sea mucho mas fácil.
3)Resuelve problemas web comunes : Express lo ayuda con problemas comunes como la administración de rutas, el almacenamiento en cache, la redireccion y mas.
4)Confianza de millones de desarrolladores : Según github 6,8 millones de dearrolladores utilizan actualmente Express para sus aplicaciones web. Un numero tan significativo implica que hay muchos desarrolladores invertidos en su éxito.
CREAR UNA APLICACION WEB CON EXPRESS
En esta pagina te plantean y ayudan a realizar este ejericicio Crear una aplicacion web con express
Aquí te dejo un vídeo tutorial en el que podra ayudarte para resolverlo Video tutorial
Nota: Cabe recalcar que el vídeo no es de mi autoria
Aquí adjunto la resolución del ejercicio hecho por mi y lo que espero que tu también logres mostrar
SALIDA
CREAR UNA APLICACIÓN WEB QUE DEVUELVA DATOS JSON
En esta pagina te plantean y ayudan a realizar este ejericicio Crear una aplicacion web con express
Aquí te dejo un vídeo tutorial en el que podrá ayudarte para resolverlo Video tutorial
Nota: Cabe recalcar que el video no es de mi autoria
Aquí adjunto la resolución del ejercicio hecho por mi y lo que espero que tu también logres mostrar
SALIDA
Felicidades
has logrado implementar una segunda ruta que puede servir contenido estático
Comentarios
Publicar un comentario