5 pasos simples para crear un servidor para probar solicitudes REST de Android

Buenas tardes

No hace mucho tiempo, era necesario implementar en una aplicación de Android la comunicación con la API del servidor a través de solicitudes REST . Implementar la parte de software en Android no fue difícil, debido a la presencia de una biblioteca de Retrofit conveniente y simple. Sin embargo, después de haber escrito un par de solicitudes GET / POST a las API abiertas existentes (por ejemplo, Github y otros ejemplos estándar de Retrofit), se hizo necesario comenzar a probar la lógica de la aplicación. En este caso, por supuesto, me gustaría tener mi propio servidor, que contiene sus modelos de datos y tiene interconexiones entre modelos, así como varios niveles de acceso a modelos de datos específicos. En este artículo, me gustaría decirle cómo crear un servidor local en unos pocos pasos, agregar los modelos necesarios, configurar las relaciones entre ellos y proporcionar acceso remoto a este servidor.

Inmediatamente me gustaría aclarar para evitar malentendidos por parte de los lectores:
Yo, así como aquellos para los que está destinado este artículo, soy un novato en la implementación de la parte del servidor, que, por casualidad, me vi en una situación en la que me vi obligado a elevar la API lo más rápido posible para probar la aplicación de Android. Toda la información presentada en el artículo poco a poco se puede encontrar en los espacios abiertos de google y youtube y encontrarla y ensamblarla en un todo no será difícil si sabe qué buscar. Sin embargo, esto toma tiempo para tomar decisiones sobre la implementación tecnológica, así como para buscar información para cada decisión específica.

1. NodeJS y Loopback


Lo primero que debe aclarar de inmediato es que el servidor se implementará utilizando el marco Lodeback Node.js. Primero, instale Node.js. sí mismo. La última versión de Node.js está en el sitio nodejs.org/en/download , descárguelo e instálelo.
Después de eso, ejecute la línea de comando e ingrese el siguiente comando y espere el final del proceso:

npm install -g loopback-cli 


2. Crear una aplicación


Para crear una nueva aplicación (su servidor) para el marco de Loopback , vaya al directorio donde se ubicará su servidor en la línea de comando, ingrese el comando lb y responda una serie de preguntas sobre la aplicación, que incluyen:

  • nombre de la aplicación (en mi caso, test_server)
  • nombre del directorio para el proyecto (déjelo en blanco, luego se creará una carpeta con el nombre del proyecto en este directorio)
  • Versión de LoopBack (seleccione la versión actual)
  • tipo de aplicación (formalmente hablando - una plantilla de aplicación. Elija api-server)



Después de completar el proceso de creación de la aplicación, vaya a la carpeta creada con los archivos de la aplicación e intente ejecutarla con el siguiente comando:

 node . 

La aplicación se ejecuta en la dirección local: localhost: 3000 / explorer . Además, la aplicación ya tiene un modelo de usuario y varias funciones REST.



Hablando formalmente, su servidor está listo y procesa con éxito las solicitudes locales. Puede verificar la disponibilidad y el funcionamiento del servidor utilizando la aplicación Postman o su aplicación de Android.

3. Modelos y relaciones


A continuación, debe crear modelos con datos y las relaciones entre ellos. Considere un ejemplo simple de un modelo y relaciones: imagine que nuestra aplicación proporciona comentarios sobre películas. Ingrese el nombre de la película y debería recibir todas las reseñas de esta película en particular. Por lo tanto, en el caso más primitivo, deben almacenarse dos modelos en la base de datos: Película (tiene campos: nombre, año) y Revisión (autor, descripción). La relación entre los modelos es la siguiente, una película puede tener muchas críticas.

Por lo tanto, una solicitud REST para películas tendrá un enlace localhost: 3000 / api / Movies y un host local: 3000 / api / Movies / {id} / Reviews a la lista de reseñas

Cree estos dos modelos en el servidor:

 lb model 

Responderemos las siguientes preguntas sobre el modelo:

  • nombre del modelo (por ejemplo, película)
  • fuente de datos para la conexión (seleccione db (memoria))
  • clase base del modelo (seleccione PersistedModel)
  • muestre el modelo usando la API REST (Sí)
  • forma plural personalizada (dejar en blanco)
  • modelo general o solo servidor (seleccione común)

Ahora se crea el modelo y debe agregarle campos (para Película, por ejemplo, nombre y año):

  • nombre de propiedad (por ejemplo, nombre)
  • tipo de propiedad (por ejemplo, cadena)
  • es obligatorio (sí)
  • muestre el modelo usando la API REST (Sí)
  • valor predeterminado (dejar en blanco)



Después de agregar todas las propiedades, ver la oferta para agregar una más, simplemente presione "Enter". Agregue también el segundo modelo.
Ahora necesita configurar la relación entre ellos. Escribimos un equipo y respondemos las preguntas:

 lb relation 

  • seleccione un modelo para crear una relación (por ejemplo, película)
  • tipo de conexión (elegir tiene muchas (una a muchas), ya que una película tiene muchas críticas)
  • Elija un modelo para la relación (en nuestro caso, Revisión)
  • nombre de la comunicación (cualquiera, escribiré comentarios)
  • clave de usuario (dejar en blanco)
  • modelo intermedio (No)
  • Permitir anidamiento (No)
  • desconectar la comunicación de los siguientes objetos conectados (No)



Eso es todo. Ahora inicie el servidor con el mismo comando que antes y mire localhost: 3000 / explorer . Vemos que tenemos nuestros modelos y podemos ver la relación entre ellos a través de id .



4. Acceso remoto al servidor


Ahora el acceso al servidor está limitado a la red doméstica, lo que no es muy conveniente cuando se realiza una prueba desde el teléfono. Intentemos que su servidor sea remoto. Para hacer esto, descargue ngrok , descomprímalo en cualquier lugar conveniente y ejecútelo . Este programa está diseñado para crear un túnel para su host local: 3000 , para crear acceso remoto para él utilizando el enlace generado. Ingrese el siguiente comando en ngrok:

 npm install ngrok -g ngrok http 3000 




Vemos que el programa ha creado un túnel y ahora su servidor está disponible en el enlace provisto. Tenga en cuenta que cada vez que reinicie la PC, el enlace en ngrok cambiará.

Conclusión


Se presentó anteriormente una descripción bastante aproximada y seca del proceso de creación de un servidor NodeJs simple para probar su aplicación de Android. Naturalmente, hay muchos matices asociados incluso con esos 4 pasos que describí.

Además de lo que ya he descrito, con solo un comando puede cambiar el nivel de acceso a la API y organizar la autenticación del usuario. Si alguien está interesado, haga preguntas en los comentarios, responderé. El marco en sí tiene documentación bastante detallada, incluidos los capítulos de inicio traducidos al ruso (aunque para la versión 2.0 con un conjunto diferente de comandos)

Sí, es primitivo, en algún lugar técnicamente estúpido, en algún lugar demasiado simple, pero para una persona que no está involucrada en tecnologías de servidor y necesita una solución rápida para probar sus tareas principales, esta solución es lo más simple y rápida posible.

Source: https://habr.com/ru/post/es420993/


All Articles