我使用 connexion 模块构建了一个基于 Python/Flask 的 REST API。这与使用 swagger.yml 文件定义 REST API 效果很好。该应用程序正在运行,但是当我导航到 /ui 时,我在浏览器中得到的只是:
我没有禁用 UI,所以我不确定发生了什么以及为什么 UI 没有显示。我的应用程序没有 /static 文件夹(它只是一个 API),因此该应用程序不提供任何静态文件,不确定这是否与问题有关。
任何关于我做错了什么的建议、指示或提示将不胜感激!
这是我的代码的简化示例:
# 3rd party libraries
from flask_cors import CORS
import connexion
def create_app(config_key, instance_config=None):
# create the connexion instance
connex_app = connexion.FlaskApp(__name__, specification_dir='./files/swagger/')
connex_app.server = 'gevent'
# get the Flask app instance
app = connex_app.app
# configure the application
app.config.from_object(config_key)
# add CORS support to application
CORS(app)
# define the API with the SWAGGER API definition YAML file
connex_app.add_api('line_controller_api.yml',
base_path='{url_prefix}'.format(url_prefix=app.config.get('URL_PREFIX', '/')),
resolver=AppResolver())
return connex_app
def production_app(instance_config=None):
app = create_app('api_config.ProductionConfig', instance_config)
return app
if __name__ == '__main__':
app = create_app('api_config.DevelopmentConfig')
port = 5001
logger.info('Line Controller API running on port %s', port)
app.run(host='0.0.0.0', port=port)
在此先感谢道格