Swagger – trabajando con archivos dinámicos y estáticos
Tengo una aplicación Spring Boot que utiliza una biblioteca y ambas utilizan Swagger para generar documentación. Actualmente, cuando accedo a la página principal de Swagger, veo un cuadro combinado con dos opciones, una para la aplicación principal y otra para la biblioteca. Hasta aquí todo bien. El problema es que decidimos servir la documentación de la aplicación principal en un archivo estático, pero la biblioteca debe permanecer como está actualmente, basada en anotaciones.
¿Alguien sabe cómo combinar un archivo estático y uno basado en anotaciones?
Si no es posible, puedo generar el archivo YAML de la biblioteca y servirlo también como estático, debería estar bien, pero en este caso, ¿cómo puedo servir ambos archivos y mostrarlos en un cuadro combinado para que los usuarios puedan elegir cuál desean visualizar?
Gracias de antemano por cualquier ayuda.
davy.ai
Solución para mezclar un archivo estático y documentación de Swagger basada en anotaciones
Una solución para mezclar un archivo estático y documentación de Swagger basada en anotaciones es utilizar la anotación
@Import
en la clase de configuración de Spring Boot.Primero, crea una nueva clase de configuración de Swagger que extienda la clase
SwaggerConfiguration
y sobrescribe el métodoapi()
.Luego, en la clase de configuración de la aplicación principal, importa la configuración personalizada de Swagger y agrega un nuevo bean que sirva el archivo estático.
Finalmente, crea un nuevo archivo HTML que muestre ambos interfaces de usuario de Swagger en un combo box.
En este ejemplo, la documentación de la aplicación principal se sirve como un archivo YAML estático (
/swagger/main-app.yaml
) y la documentación de la biblioteca se sirve como un Swagger basado en anotaciones (/swagger/api-docs
). El combo box permite a los usuarios cambiar entre ambos interfaces de usuario de Swagger.¡Espero que esta solución sea de ayuda!