Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

387
Vistas
Flask-Swagger-UI no reconoce la ruta a swagger.json

Estoy construyendo una API, usando Flask y Flask-restful y Flask-swagger-ui. Ahora modifiqué la estructura del proyecto y ya no puedo acceder al archivo swagger.json del proyecto.

De acuerdo con la documentación del paquete Flash-swagger-ui , solo necesitaría cambiar el parámetro API_URL a la ruta correcta. Pero incluso al ingresar la ruta relativa o la ruta completa, ya no puedo acceder al archivo.

ingrese la descripción de la imagen aquí

Mi código :

 from flask import Flask, jsonify from flask_migrate import Migrate from flask_restful import Api from flask_swagger_ui import get_swaggerui_blueprint def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) api = Api(app, prefix="/api/v1") '''swagger specific''' SWAGGER_URL = '/api/v1/docs' # API_URL = 'templates/swagger.json' API_URL = 'app/templates/docs/swagger.json' SWAGGERUI_BLUEPRINT = get_swaggerui_blueprint( SWAGGER_URL, API_URL, config={ 'app_name': "My Rest App" } ) app.register_blueprint(SWAGGERUI_BLUEPRINT, url_prefix=SWAGGER_URL) db.init_app(app) Migrate(app, db) return app

Mi estructura de árbol:

 ├── API │  ├── app │  │  ├── __init__.py │  │  ├── models │  │  │  ├── __init__.py │  │  │  ├── db.py │  │  │  └── db2.py │  │  ├── routes │  │  │  ├── __init__.py │  │  │  ├── resources.py │  │  └── templates │  │  └── docs │  │  └── swagger.json │  ├── app.db │  ├── config.py │  ├── main.py │  ├── migrations │  ├── requeriments │  └── tests └── README.md

Necesito ayuda, para entender el problema de la ruta al archivo y así corregir el problema.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Creo que es una restricción al final del matraz, pero parece que debe colocar archivos estáticos en una carpeta explícitamente llamada static/ en la raíz de su aplicación de matraz.

Intenta cambiar

 API_URL = 'app/templates/docs/swagger.json'

para

 API_URL = '/static/swagger.json'

Luego cree una carpeta static/ en API/app/ y mueva su json a ella. Así: API/app/static/swagger.json

Si eso no funciona, asegúrese de tener la carpeta static/ en el directorio correcto, intente print(app.root_path) después de definir la variable de la aplicación del matraz para ver qué matraz considera que es la ruta raíz.

over 4 years ago · Santiago Trujillo Denunciar

0

No podemos proporcionar ninguna ruta de archivo personalizada para swagger.json.

Pero hay una trampa que podemos hacer si lo necesita. Estaba enfrentando el mismo problema en el que necesito proporcionar un prefijo diferente para la URL de swagger y swagger.json. Si solo queremos servir el archivo swagger.json desde un prefijo diferente en lugar de '/static/swagger.json':

Luego haga los cambios de la siguiente manera:

 APP = Flask(__name__, static_url_path = '/my-prefix/static') API_URL = '/my-prefix/static/swagger.json'
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda