Saltar al contenido

¿Cómo ejecutar swagger-ui con cambios de código local Y mi propio swagger.json?

Luego de de nuestra larga recopilación de datos dimos con la solución esta preocupación que presentan algunos usuarios. Te dejamos la respuesta y deseamos que te resulte de mucha apoyo.

Solución:

Asegúrese de que está montando el volumen en el directorio local correcto.

Localmente, tenía mi configuración de swagger en $PWD/src/app/swagger/swagger.yaml. Ejecutar lo siguiente funcionó bien:

docker run -p 80:8080 -e SWAGGER_JSON=/tmp/swagger.yaml -v `pwd`/src/app/swagger:/tmp swaggerapi/swagger-ui

Simplemente actualizar la página de Swagger-UI o hacer clic en el botón “Explorar” en el encabezado provocó una actualización de los datos de mi archivo YAML.

También puede especificar BASE_URL extracto de la instalación de swagger

docker run -p 80:8080 -e BASE_URL=/swagger -e SWAGGER_JSON=/foo/swagger.json -v /bar:/foo swaggerapi/swagger-ui

Así es como terminé resolviendo esto, también te permite tener múltiples archivos YML:

docker run -p 80:8080                                                                                                                                  
  -e URLS_PRIMARY_NAME=FIRST                                                                                                                              
  -e URLS="[                                                                                                                                            
     url: 'docs/first.yml', name: 'FIRST'                                                                                                                 
    ,  url: 'docs/second.yml', name: 'SECOND'                                                                                                               
  ]"                                                                                                                                                    
  -v `pwd`:/usr/share/nginx/html/docs/                                                                                                                  
  swaggerapi/swagger-ui   

Encontré este tema porque quería ver una representación visual de mi archivo swagger local, pero no podía hacer que swagger-ui (ejecutándose en docker) mostrara otra cosa que no fuera la tienda de mascotas.

En última instancia, mi problema fue comprender los indicadores -e SWAGGER_JSON y -v, por lo que quería explicarlos aquí.

-v :

Esta opción dice “Montar la ruta desde mi sistema de archivos local dentro del contenedor acoplable swagger-ui en la ruta

-e SWAGGER_JSON=

Esta opción dice “De forma predeterminada, mostrar el swagger para el archivo en utilizando el sistema de archivos del contenedor docker”. La parte importante aquí es que esta ruta de archivo debe tener en cuenta cómo configuraste arriba

Poniéndolo todo junto, terminé con lo siguiente:

docker run -p 8085:8080 -e SWAGGER_JSON=/foo/swagger.json -v `pwd`:/foo swaggerapi/swagger-ui

Esto dice en inglés: “Ejecute mi instancia de swagger-ui en el puerto 8085. Monte mi directorio de trabajo actual como ‘/foo’ en el contenedor acoplable. De manera predeterminada, muestre el archivo swagger en ‘/foo/swagger.json'”.

Lo importante a tener en cuenta es que tengo un archivo llamado swagger.json en mi directorio de trabajo actual. Este comando monta mi directorio de trabajo actual como /foo en el contenedor docker. Luego, la interfaz de usuario de swagger puede seleccionar mi swagger.json como /foo/swagger.json.

Si haces scroll puedes encontrar las aclaraciones de otros creadores, tú también eres capaz insertar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *