Post Top Ad

Your Ad Spot

sábado, 25 de enero de 2020

Construyendo una API RESTful usando Node.JS y MongoDB

Sin duda, las interfaces de programación de aplicaciones o API juegan un papel muy importante en la comunicación y el intercambio de datos entre servidores y servicios. Desde computadoras hasta teléfonos inteligentes e Internet de las cosas (IoT), las aplicaciones hablan e intercambian información a través de API. Casi todos los días usamos o interactuamos con un servicio API, y muchos sitios usan una API personalizada para ampliar su sitio web. Como tal, aprender a desarrollar una API personalizada agrega mucho valor a su perfil de desarrollador.
Motivados por la importancia de las API y la popularidad de JavaScript (JS), nos gustaría mostrarle cómo desarrollar una API RESTful personalizada utilizando Node.JS y MongoDB . En el camino, podrá aprovechar y mejorar sus habilidades de JS. Los desarrolladores también pueden ampliar este tutorial utilizando MySQL en lugar de MongoDB o asegurando la API agregando devoluciones de llamadas de autenticación.

Sobre el proyecto

Este tutorial requiere un conocimiento intermedio de JavaScript y Node.JS junto con un conocimiento básico de JSON, NPM, MongoDB (una base de datos No-SQL) y Express.JS. Este tutorial está orientado al desarrollo web de back-end, ya que no discutiremos HTML, CSS o Angular. Haga clic aquí para descargar el archivo de proyecto .zip para este tutorial. Haga clic aquí para ver su demostración en vivo.

Resumen del tutorial

En este tutorial, lo guiamos a través de siete pasos para desarrollar una API RESTFul utilizando marcos de JavaScript populares como Node.JS y Express.JS. Al hacerlo, aprendemos cómo integrar nuestra API con la base de datos MongoDB. Aquí están los pasos principales:
1. Inicialización del proyecto
2. Instalar dependencias de la aplicación
3. Ejecutar la aplicación
4. Probar la aplicación
5. Establecer conexión con MongoDB
6. Construir puntos finales API REST
7. Poner las cosas juntas
Algunos antecedentes sobre las API REST son útiles para comprender y seguir este tutorial.

Descripción general de la API RESTful

REST significa RE presentational S tate T ransfer. Cuando se llama a una API RESTful, el servidor transferirá al cliente una representación del estado del recurso solicitado. Por ejemplo, cuando un desarrollador llama a OpenWeather API para buscar el clima para una ciudad específica (el recurso), la API devolverá el estado de esa ciudad, incluida la temperatura, la humedad, la velocidad del viento, el pronóstico actual, el pronóstico extendido y más. La representación del estado puede estar en formato JSON, y para la mayoría de las API web, este es el caso. Otros posibles formatos de datos incluyen XML o HTML. Lo que hace el servidor cuando lo llama depende de dos cosas que debe proporcionar al servidor:
1. Un identificador para el recurso. - Esta es la URL del recurso, también conocido como punto final . De hecho, URL significa Localizador Uniforme de Recursos.
2. La operación que desea que el servidor realice en ese recurso, en forma de un método HTTP . Los métodos HTTP comunes son GET, POST, PUT y DELETE.

Prerrequisitos:

  1. Instale Node.js siguiendo las pautas apropiadas para su máquina local que se proporcionan aquí .
  2. Puede usar Node Version Manager para instalar varias versiones de Node.js en su máquina local.
  3. Regístrese en MongoDB Atlas, que es una base de datos en la nube como servicio. Estamos utilizando MongoDB Atlas, que nos ofrece un entorno sandbox gratuito para que podamos centrarnos en la construcción de nuestra API REST.
  4. Editor de código como Visual Studio Code o Sublime Text

1. Inicialización del proyecto

Necesitamos crear una carpeta de aplicaciones donde residirá nuestra aplicación. Para inicializar la aplicación, necesitamos crear un archivo package.json , que contendrá todos los metadatos para la aplicación de nodo. El archivo permite que npm maneje la instalación de las dependencias del paquete y los scripts que escribimos para manejar la aplicación.
Suponiendo que haya instalado Node.js, podemos inicializar la aplicación desde la línea de comandos ejecutando lo siguiente:
El comando anterior creará un package.jsonarchivo.

2. Instalar dependencias de aplicaciones

Necesitamos un archivo que pueda actuar como central de comandos para nuestra aplicación. Este archivo se ejecutará primero npmcuando le solicitemos que ejecute nuestra aplicación. Este archivo puede tener instancias de objeto de múltiples módulos que escribimos, así como módulos de terceros que instalamos desde el npmdirectorio.
Estos módulos son dependencias del proyecto. Instalaremos algunas de estas dependencias ahora:
Usando los comandos anteriores, creamos un archivo llamado app.jsque será el punto de entrada principal a la aplicación, e instalamos algunas dependencias que son esenciales para iniciar nuestra aplicación.
Estas dependencias son:
1. Expreso : este es un marco Node.js.
2. MongoDB : este es un módulo oficial proporcionado por el equipo de MongoDB para ayudar a nuestra aplicación Node.js a comunicarse con MongoDB.
body-parser.: Este paquete nos permitirá manejar cuerpos de solicitud con Express.

¿Por qué usar body-parser?

Supongamos que está enviando datos de un formulario HTML al servidor Node.js, es decir, realizó una solicitud al servidor. HTTP envía sus datos de formulario en bits y piezas que están destinados a ensamblarse a medida que llegan a su destino. Para extraer estos fragmentos de datos y ensamblarlos de modo que estén en un formato que pueda ser útil, utilizamos un middleware body-parser.

3. Ejecute la aplicación

Ejecutemos el código para nuestra aplicación:
Aquí, estamos importando nuestras dependencias descargadas. Inicializamos el framework express utilizando el objeto Express que usará el framework express para iniciar el servidor y ejecutar nuestra aplicación en un puerto determinado y configurar el analizador del cuerpo, que es un middleware para analizar fragmentos de datos entrantes.

4. Pruebe la aplicación

Podemos probar la aplicación ejecutando lo siguiente:
El servidor escuchará las solicitudes en el puerto 5000 de acuerdo con la placa anterior que escribimos.

5. Establecer conexión con MongoDB

Necesitaremos la cadena de conexión para MongoDB. Esto se puede encontrar en el panel de Atlas seleccionando Clusters, luego la pestaña Descripción general seguida del botón Conectar.
Necesitamos agregar la cadena a nuestro app.jsy hacer los siguientes cambios en el código.
Nota al margen: en un mundo ideal, los desarrolladores se beneficiarán de agregarlo a un .envarchivo para mantener sus variables de entorno separadas de la aplicación.
Aquí, hemos definido la cadena de conexión a usar. Debe agregar una CONNECTION_URLpropiedad de acuerdo con la cadena de conexión que recibió de MongoDB Atlas. También hemos definido el nombre de la base de datos que deseamos crear (si aún no está presente y la colección).
Establecemos una conexión una vez que comenzamos de nuevo la aplicación y usamos variables definidas globalmente para que puedan usarse en cada uno de nuestros puntos finales.
Ahora comencemos a diseñar nuestros puntos finales de API consumibles HTTP.

6. Compilar puntos finales API REST

Ahora vamos a desarrollar puntos finales para crear y consultar los datos. Creemos un punto final para agregar los datos. Agregue el siguiente código a app.js:
No estamos haciendo ninguna validación de datos, pero cuando un cliente realiza una solicitud POST al /personnelpunto final, tomamos el cuerpo y lo insertamos en nuestra colección. Dependiendo del éxito o la respuesta de error de la base de datos, devolvemos información al cliente.

7. Poner las cosas juntas

Ahora, las cosas comienzan a juntarse. Probemos nuestra aplicación.
Si no recibe ningún error, verá el registro de personal de John Doe agregado en la base de datos MongoDB de accounting_departmenty bajo el personal de recolección. Siéntase libre de agregar más registros a su base de datos.

OBTENER

Ahora creemos un punto final para recuperar todos los datos de registros. Agregue el siguiente código a app.js:
El objetivo aquí es devolver todos los datos de nuestra colección que representan a las personas. No tenemos condiciones de consulta, de ahí el vacío {}en el comando de búsqueda, y los resultados se convierten en una matriz.
Probemos esto usando cURL, una herramienta de línea de comandos para transferir datos y es compatible con HTTP; Una muy buena herramienta ad-hoc para probar los servicios REST.

OBTENER (por ID)

Ahora supongamos que ha agregado más registros a su base de datos. Los consumidores de API deberán recuperar un único registro de acuerdo con su ID.
Escriba el siguiente punto final a su app.js:
Vamos a utilizar un parámetro de ruta para obtener información específica del personal de MongoDB. Los parámetros son opciones que puede pasar con el punto final (como especificar el formato de respuesta o la cantidad devuelta) para influir en la respuesta. Esta vez tenemos un parámetro de ruta llamado idque representará una identificación de objeto en MongoDB. Usando el findOnemétodo, podemos obtener un único registro basado en los criterios incluidos en el objeto. La identificación no es una cadena, por eso tenemos que usar el ObjectId.
Dependiendo de los datos reales en nuestra base de datos, podemos hacer un comando cURL similar a este:

Conclusión

En este tutorial, hemos aprendido cómo desarrollar una API personalizada y conectarla con MongoDB para obtener y manipular los datos. Desde aquí, puede tomar diferentes pasos. Por ejemplo, puede expandir este proyecto agregando más funciones como la validación de datos. También puede mejorar la seguridad de la API y la posibilidad de venta siguiendo Node.JS mejores prácticas . Por último, puede probar este tutorial con la base de datos MySQL u otro lenguaje de codificación del lado del servidor como PHP o Django.
¿Qué opinas de este tutorial? ¿Qué herramientas estás utilizando para desarrollar API REST?

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas