0% encontró este documento útil (0 votos)
3 vistas11 páginas

Desarrollo API REST

El documento detalla los pasos para desarrollar una API REST utilizando Node.js, incluyendo la configuración del archivo package.json, la creación del archivo app.js y la instalación de mongoose para conectar a una base de datos MongoDB. Se explica cómo definir rutas y manejar solicitudes HTTP, así como la importancia de utilizar formato JSON para el intercambio de datos. Además, se menciona la creación de modelos y rutas para gestionar datos en la aplicación.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas11 páginas

Desarrollo API REST

El documento detalla los pasos para desarrollar una API REST utilizando Node.js, incluyendo la configuración del archivo package.json, la creación del archivo app.js y la instalación de mongoose para conectar a una base de datos MongoDB. Se explica cómo definir rutas y manejar solicitudes HTTP, así como la importancia de utilizar formato JSON para el intercambio de datos. Además, se menciona la creación de modelos y rutas para gestionar datos en la aplicación.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Desarrollo de la API REST

Análisis y desarrollo de software


Servicio Nacional de Aprendizaje - SENA
Análisis y desarrollo de software

Desarrollo de la API REST

A continuación, se describen de manera sucinta los pasos requeridos para el desarrollo de


la API Rest con [Link]

01 Configuración de [Link]
Se configura el [Link] para implementar el nodemon, con el fin de que el servidor
funcione más rápido, como se muestra en la figura 1.

Figura 1. Código fuente del archivo [Link]

Referencia Nota. SENA (2021).

02 Creación del archivo [Link]


Se crea un nuevo archivo llamado [Link] como se muestra en la figura 2, en el cual se
implementa lo siguiente:

1 Se importa la librería de Express.


2 Se configura el listening del servidor, es decir, se precisa el puerto por donde va a
escuchar.

Servicio Nacional de Aprendizaje - SENA 01


Análisis y desarrollo de software

3 Se crea la ruta por defecto a manera de prueba, que es la URL por donde el servidor
responde las solicitudes que se le hacen. La definición de la ruta tiene la siguiente
estructura:

[Link](PATH, HANDLER)

Figura 2. Ejemplo de conexión entre 10 equipos o terminales

Referencia Nota. SENA (2021).

Se comprueba la ruta iniciando el servidor con el comando npm start desde la terminal del
Visual Studio Code. Una vez realizado esto, se debe abrir el browser de la preferencia e
inmediatamente se ingresa la dirección local por el puerto donde se está escuchando, que
para el caso de este ejemplo es el puerto 10000. A continuación, se presenta la figura que
ejemplifica este paso.

Figura 3. Browser con la ruta y puerto donde funciona el servido

Como se observa el servidor está activo escuchando desde el puerto 10000.

Servicio Nacional de Aprendizaje - SENA 02


Análisis y desarrollo de software

03 Instalación de mongoose y mLab MongoDB


Ahora se necesita una base de datos para almacenar la data que se quiere enviar o
registrar, para este caso se utilizará MongoDB. Al respecto, esta tecnología se diferencia de
otras porque no guarda los datos en tablas tal y como se hace en las bases de datos
relacionales, MongoDB en cambio guarda estructuras de datos en formato BSON (una
especificación similar a JSON) con un esquema dinámico. En ese sentido, esto permite que
la integración de los datos en ciertas aplicaciones sea más fácil y rápida.

En este orden de ideas, una de las formas para utilizar una base de datos MongoDB es con
la herramienta mongoose que establece la conexión a la base de datos MongoDB y
además permite realizar el mapeo de los esquemas realizados en MongoDB y utilizarlos.

De manera que se instala mongoose desde la terminal de Visual Studio Code así: tiene la
siguiente estructura:

$ npm install mongoose

Una vez instalado mongoose, se utiliza mLab para el cual crea una base de datos gratuita
de MongoDB, es decir, es un hosting para bases de datos MongoDB:

Enlace web. [Link]

Para la creación de la base de datos y del usuario de prueba se debe seguir la siguiente
guía:

Enlace web. [Link]

Servicio Nacional de Aprendizaje - SENA 03


Análisis y desarrollo de software

A continuación, se presenta la interfaz del hosting de bases de datos mLab /Atlas.

Figura 4. Interfaz de mLab funcionando

Referencia Nota. SENA (2021).

Una vez creada la base de datos se utiliza mongoose para realizar la conexión. Esta
codificación se realiza igualmente en el archivo [Link]. como se muestra en la siguiente
figura.

Figura 4. Código fuente del archivo [Link] (conexión BD)

Servicio Nacional de Aprendizaje - SENA 04


Análisis y desarrollo de software

El código de la conexión se puede generar a través de la plataforma mLab, Por lo tanto, se


puede elegir el modo de conexión. Para el caso del ejemplo se elige la opción “Connect
your application” como se muestra en la siguiente figura.

Figura 6. Panel de opción de conexión a la base de datos ofrecido por mLab/Atlas

Referencia Nota. SENA (2021).

Es importante anotar que las solicitudes que se envían y reciben deben estar en formato
JSON para que sean procesadas de manera correcta, por lo que es necesario convertir o
“parsear” a este formato la información que vaya por el método POST. Por lo tanto, se hace
necesario instalar el siguiente paquete:

$npm install body-parser

El archivo [Link] queda de la manera como se muestra en la siguiente figura.

Figura 7. Código fuente del archivo [Link] aplicando el body parser

Servicio Nacional de Aprendizaje - SENA 05


Análisis y desarrollo de software

Referencia Nota. SENA (2021).

04 Creación del modelo


Ahora se necesita crear los datos de prueba para que se puedan almacenar en la base de
datos, por lo tanto, se utilizará mongoose para generar los modelos. En ese sentido,
en la estructura de directorios del proyecto se crea una nueva carpeta llamada models
como se muestra a continuación.

Figura 8. Estructura de directorios (carpeta models)

Servicio Nacional de Aprendizaje - SENA 05


Análisis y desarrollo de software

Ahora se necesita una base de datos para almacenar la data que


se quiere enviar o registrar, para este caso seutilizará MongoDB.
Al respecto, esta tecnología se diferencia de otras porque no
guarda los datos en tablas tal ycomo se hace en las bases de
datos relacionales, MongoDB en cambio guarda estructuras de
datos en formato BSON (una especificación similar a JSON) con
un esquema dinámico. En ese sentido, esto permite que
laintegración de los datos en ciertas aplicaciones sea más fácil y
rápida.
En este orden de ideas, una de las formas para utilizar una base de datos MongoDB es con la
herramienta mongoose que establece la conexión a la base de datos MongoDB y demás
permite realizar el mapeo de los esquemas realizados en MongoDB y utilizarlos.

De manera que se instala mongoose desde la terminal de Visual Studio Code así:
Figura 9. Código fuente del archivo [Link] (modelo)

05 Configuración de las rutas


Se define la ruta para el modelo, para esto se crea una carpeta llamada routes en la raíz de la
estructura del proyecto y se genera un archivo [Link] como se muestra en la
siguiente figura.

Figura 10. Estructura de directorios (carpeta routes)

Referencia Nota. SENA (2021).

Servicio Nacional de Aprendizaje - SENA 06


Análisis y desarrollo de software

En el archivo [Link] se definen las acciones o tratamiento a cada


uno de los datos. Esto se hace a partir de las rutas o
direccionamiento que hace referencia a la determinación de
cómo responde una aplicación a una solicitud de cliente en
un determinado punto final, que es una URL (o una vía de
acceso) y un método de solicitud HTTP específico (GET, POST,
etc.) Es en esta instancia que se invocan acciones para guardar,
extraer, eliminar o visualizar datos, a partir del direccionamiento.
A continuación, se presenta el código.

Figura 10. Código fuente del archivo [Link] (rutas)

Servicio Nacional de Aprendizaje - SENA 07


Análisis y desarrollo de software

Referencia Nota. SENA (2021).

Servicio Nacional de Aprendizaje - SENA 08


Análisis y desarrollo de software

La clase [Link] sirve para crear manejadores o handlers de rutas


montables y modulares. Una instancia router es un sistema que invoca una función
cuando se presenta algún evento (middleware) y además presenta un
direccionamiento completo; por este motivo, a menudo se conoce como una
“miniaplicación” (Express, 2021).

La palabra clave async se añade a las funciones para indicar que devuelvan una
promesa en lugar de devolver directamente el valor. Adicionalmente, esto permite
que las funciones síncronas puedan evitar cualquier potencial de sobrecarga que
viene con correr el soporte por usar async. De esta manera, cuando una función es
declarada async con solo añadir la manipulación necesaria, el motor de JavaScript
puede optimizar el programa por sí mismo (Mozilla, 2021).

La expresión await provoca que la ejecución de una función async de una pausa
hasta que una promesa sea terminada o rechazada, y vuelve de nuevo a la
ejecución de la función async después de finalizada. Al regreso de la ejecución, el
valor de la expresión await se da por una promesa terminada (Mozilla, 2021).

Referencias bibliográficas

Mozilla. (2021). Await. MDN Web Docs.

Enlace web. [Link]


Reference/Operators/await

Servicio Nacional de Aprendizaje - SENA 09

También podría gustarte