URL multibase dinámica con anotaciones | androide | de Mustafa Yigit | diciembre 2022

Contenidos

historia

Recuerde tener muchos servicios en el backend y varias URL base para nuestro cliente móvil. ¿Cómo podemos reaccionar ante eso? ¿Sobrescribir URL? Definitivamente no. Vamos a sumergirnos demasiado profundo. En este caso, usamos una URL base diferente para cada tipo de entorno.

  • alfa → prefijo: «alfa-«
  • beta → prefijo: «beta-«
  • Producción → prefijo: ninguno

Además, disponemos de varios servicios.

  • Procesos de autenticación → «auth.mydomain.com»
  • servicios pagos → «pay.mydomain.com»
  • Contenido de la aplicación → «midominio.com»

No queremos especificar manualmente las URL para cada punto final de actualización. Entonces puedo usarlo Anotaciones personalizadas también Administrar URL. Lo hace fácil.

estructura de carpetas del proyecto

Aquí está la estructura de carpetas del proyecto.Tenemos tres servicios de actualización, Tipo de API clase de enumeración y API clase de anotación.

Tipo de API

Hemos definido un tipo de enumeración para cada microservicio. Todos tienen una cadena de nombre de host.Ahora necesitamos una bandera para manipular las URL base para cada llamada de actualización. Podemos definir uno clase de anotación y configurarlo para cada llamada.

Administrador de entorno y BaseUrlInterceptor

Ahora sabemos qué llamada pertenece a qué servicio. Si interceptamos esa anotación en el interceptor, haremos lo que queramos. Hagámoslo 👇 Escribí un interceptor llamado BaseUrlInterceptor y un gerente llamado gerente de medio ambiente que contiene entornos para operaciones de URL base. Aquí está mi gerente de medio ambiente Contiene entornos predefinidos y una función para obtener URLs por tipo de API.tenemos que atraparlos API Nota de la llamada de actualización.Y tenemos una anotación y podemos obtener la URL base de EnvironmentManager a través de apiType.

Gestionar entornos de forma dinámica

Todo está bien. Pero queremos controlar estos entornos dinámicamente. Así que hice una selección simple con ruletas. Los modelos de entorno se actualizan cuando se selecciona el elemento. Primero necesitamos inicializar los spinners con nuestros tipos de implementación (alfa, beta, producción).Queremos actualizar el modelo de entorno cuando se selecciona el elemento giratorio. Necesitamos agregar un detector de selector de elementos.Y eso es. vamos a ver

Deja una respuesta

Tu dirección de correo electrónico no será publicada.