Si nuestra aplicación tiene dependencias con otra/s API FundeWebJS, es decir, si tenemos algún cliente/librería que obtiene información de servicios alojados bajo api.um.es, es necesario y obligatorio declarar dicha dependencia entre APIs para que funcione correctamente el sistema de monitorización de api.um.
Por ejemplo, será necesario declarar la dependencia si se hace uso de la librería fundewebjs-serviciosrrhh-client para obtener información del usuario del token, o si se llama a otros servicios para obtener certificados.
En esta página se detallará cómo configurar nuestra API para configurar estas dependencias.
Guía detallada
1. Cambios en pom.xml
Si alguna de las configuraciones ya existe, no hace falta volver a declararla.
- Añadir property para la versión:
<properties> ... <fdwjs.version>[1.0.0,)</fdwjs.version> ... </properties>
- Añadir dependencia:
<dependency>
<groupId>es.um.atica.fundewebjs.fundewebjs-api</groupId>
<artifactId>fundewebjs-api-components</artifactId>
<version>${fdwjs.version}</version>
</dependency>
- Añadir repositorio maven:
<repositories> ... <repository> <id>fundewebjs.archiva.atica.umu.es</id> <name>ATICA - UMU Repository - FundeWebJS</name> <url>https://archiva.um.es/archiva/repository/FundeWebJS/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> ... </repositories>
2. Cambios en Clase Application
Para que Spring-Boot localice los componentes declarados en la librería del paso anterior, es necesario indicarle el paquete que ha de escanear.
Para ello hay que modificar la clase Application y añadir el parámetro scanBasePackages a la anotación @SpringBootApplication:
Ejemplo:
@SpringBootApplication( scanBasePackages = {
"es.um.atica.[PAQUETE_BASE_APLICACION]", "es.um.atica.fundewebjs"
} )
public class SampleApplication {
3. Cambios en application.properties
Para configurar la dependencia en sí, hay que añadir el servicio al que se invoca en el fichero application.properties de cada entorno en el repositorio de Helm Charts.
Puede verse cómo trabajar con el fichero application.properties de Helm Chart en la página Despliegues y configuración de los entornos con HelmChart,.
La propiedad a añadir en este fichero es service.dependencies.
Se pueden añadir tantas dependencias como sea necesario, separando cada servicio por coma.
La sintaxis para declarar cada dependencia es: {namespace}.{service}.
Ejemplo:
Si tenemos la dependencia típica a serviciosrrhh en desarrollo:
-namespace: rrhh-serviciosrrhh-api-ns-desa
-service: serviciosrrhh-api-service
Property:
service.dependencies=rrhh-serviciosrrhh-api-ns-desa.serviciosrrhh-api-service
Ante la duda sobre qué namespace y service tiene cada aplicación, lo más aconsejable es acceder la documentación OpenAPI completa de todas las aplicaciones en cada entorno, y obtener el valor del combo para seleccionar aplicaciones.
Documentación en apidesa.um.es.
Documentación en apitest.um.es.
Documentación en api.um.es.