Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Node.js
Code

Códifique Su Primera API Con Node.js y Express: Configurar el Servidor

by
Difficulty:BeginnerLength:MediumLanguages:
This post is part of a series called Code Your First API With Node.js and Express.
Code Your First API With Node.js and Express: Understanding REST APIs
Code Your First API With Node.js and Express: Connect a Database

Spanish (Español) translation by Jean Perez (you can also view the original English article)

Cómo Configurar un Servidor de API Expresa en Node.js

En el tutorial anterior, aprendimos lo que es la arquitectura del resto, los seis rectores las limitaciones del resto, cómo entender los métodos de la petición HTTP y sus códigos de respuesta y la anatomía de un extremo API RESTful.

En este tutorial, instalaremos un servidor para nuestra API vivir. Usted puede construir una API con cualquier lenguaje de programación y software de servidor, pero vamos a utilizar Node.js, que es la aplicación de back-end de JavaScript y Express, un popular, marco mínimo para nodo.

Instalación

Nuestro primer requisito es asegurarse de Node.js y MNP instalados a nivel mundial en el equipo. Podemos probar tanto utilizando la bandera -v, que mostrará la versión. Abra el símbolo del sistema y escriba lo siguiente.

Su versión puede ser ligeramente diferente a la mía, pero como ambos están allí, nosotros podemos empezar.

Vamos a crear un directorio de proyecto llamado express-api y mover a él.

Ahora que estamos en nuestro nuevo directorio, nos podemos iniciar nuestro proyecto con el comando init.

Este comando le pedirá que responda algunas preguntas sobre el proyecto, que puede llenar o no. Una vez completada la configuración, usted tendrá un archivo package.json que se ve así:

Ahora que ya tenemos nuestro package.json, podemos instalar las dependencias necesarias para nuestro proyecto. Afortunadamente no requieren demasiadas dependencias, estos cuatro enumeran a continuación.

  • body-parser: cuerpo análisis de middleware.
  • express: un marco minimalista web utilizaremos para nuestro servidor.
  • mysql: Un driver de MySQL.
  • request (opcional): una manera simple de hacer llamadas HTTP.

Usaremos el comando install seguido por cada dependencia para concluir el ajuste de nuestro proyecto.

Esto creará un directorio node_modules y un archivo de package-lock.json y nuestros package.json se actualizarán para ver algo como esto:

Configuración de un Servidor HTTP

Antes de empezar a configurar un servidor Express, vamos rápidamente a establecer un servidor HTTP con el módulo de http integrado del nodo, para tener una idea de cómo funciona un servidor simple.

Crear un archivo llamado hello-server.js. Cargar en el módulo http, establecer un número de puerto (yo escogí 3001) y crear el servidor con el método de createServer().

En el artículo introductorio del REST, hablamos de lo que son solicitudes y respuestas con respecto a un servidor HTTP. Vamos a configurar nuestro servidor para gestionar una solicitud y mostrar la URL solicitada en el servidor del lado del servidor y mostrar un saludo Hola, servidor! mensaje al cliente por parte de la respuesta.

Finalmente, nos le el servidor qué puerto escucha y muestre un error si lo hay.

Ahora, podemos comenzar nuestro servidor con node, seguido por el nombre de archivo.

Usted verá esta respuesta en el terminal:

Para comprobar que el servidor se está ejecutando, ir a https://localhost:3001 en la barra de direcciones de tu navegador. Si todo está funcionando correctamente, debería ver Hola, Servidor! en la página. En su terminal, también verá las direcciones URL que se solicitaron.

Si fueras a navegar a http://localhost:3001/Hola, ver URL: / Hola.

También podemos usar cURL en nuestro servidor local, que nos mostrará la exactos encabezados y el cuerpo que se devuelve.

Si cierra la ventana de terminal en cualquier momento, el servidor desaparece.

Ahora que ya tenemos una idea de cómo trabajan juntos el servidor, la petición y la respuesta, podemos reescribir esto en Express, que cuenta con una interfaz aún más sencilla y características extendidas.

Configuración de un Servidor Expreso

Vamos a crear un nuevo archivo app.js, que será el punto de entrada a nuestro proyecto actual. Al igual que con el servidor de http original, nos requieren un módulo y configurar un puerto para empezar.

Crear un archivo app.js y poner el siguiente código en él.

Ahora, en vez de buscar todas las solicitudes, serán explícitamente afirmamos que estamos en busca de una solicitud GET en la raíz del servidor (/). Cuando / recibe una petición, nos mostrará la URL solicitada y el "¡Hola, servidor!" mensaje.

Finalmente, iniciaremos el servidor en el puerto 3002 con el método listen().

Podemos iniciar el servidor con node app.js como hicimos antes, pero también podemos modificar la propiedad de scripts en nuestro archivo package.json ejecutar automáticamente este comando específico.

Ahora podemos usar npm start para iniciar el servidor, y vamos a ver nuestro mensaje de servidor en el terminal.

Si ejecuta un curl -i en la URL, vamos a ver que es accionado por expreso ahora, y hay algunos encabezados adicionales como Content-Type.

Añadir Cuerpo Análisis de Middleware

A fin de tratar fácilmente con el POST y PUT las peticiones a nuestro API, vamos a añadir cuerpo análisis de middleware. Esto es donde entra nuestro módulo de body-parser. body-parser se extrae todo el cuerpo de una solicitud entrante y analizar en un objeto JSON que podemos trabajar con.

Simplemente te requieren el módulo en la parte superior de nuestro archivo. Añadir a continuación require declaración a la parte superior del archivo app.js.

Luego le diremos a nuestra aplicación Express para utilizar el body-parser y buscar JSON.

También, vamos a cambiar nuestro mensaje para enviar un objeto JSON como una respuesta en lugar de texto sin formato.

Siguiente es nuestro archivo app.json completo tal y como está ahora.

Si usted envía un curl -i al servidor, verás que el encabezado ahora devuelve Content-Type: application/json; charset=utf-8.

Configurar Rutas

Hasta ahora, sólo tenemos una ruta de GET a la raíz (/), pero nuestra API debe ser capaz de manejar los cuatro principales métodos de petición HTTP en varias URLs. Vamos a configurar un router y hacer algunos datos falsos para mostrar.

Vamos a crear un nuevo directorio llamado rutas y un archivo llamado routes.js. Lo vinculamos a él en la parte superior de app.js.

Tenga en cuenta que no es necesaria en el requerir la extensión .js. Ahora trasladaremos oyente GET de la aplicación a routes.js. Introduzca el código siguiente en routes.js.

Por último, exportar el router para que podamos usar en nuestro archivo app.js.

En app.js, reemplace el código de app.get() que tenía antes con una llamada a routes():

Ahora podrá ir a http://localhost:3002 y ver lo mismo que antes. (No olvide reiniciar el servidor!)

Es decir una vez todo configurado y funciona correctamente, nos va a servir algunos datos JSON con otra ruta. Sólo vamos a usar datos falsos por ahora, ya que nuestra base de datos no está configurado todavía.

Vamos a crear una variable de users en routes.js, con algunos falsos datos en formato JSON.

Voy agregar otro camino de GET a nuestro router, /users y enviar los datos del usuario a través de.

Después de reiniciar el servidor, ahora puede navegar a http://localhost:3002/users y ver todos nuestros datos en la pantalla.

Nota: Si no tienes una extensión de visor JSON en el navegador, le recomiendo que descargar uno, como JSONView para Chrome. Esto hará que los datos mucho más fácil de leer.

Visite nuestro Repositorio de GitHub para ver el código completo de este post y compararlo con su propio.

Conclusión

En este tutorial aprendimos a configurar un servidor HTTP integrado y un servidor Express en nodo, solicitudes de ruta y URLs y consume datos JSON con solicitudes get.

En la última entrega de la serie API RESTful, enganchamos a nuestro servidor Express a MySQL para crear, ver, actualizar y eliminar los usuarios en una base de datos, finalizando la funcionalidad de la API.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.