Python 连接不显示 Swagger UI

2023-12-05

我使用 connexion 模块构建了一个基于 Python/Flask 的 REST API。这与使用 swagger.yml 文件定义 REST API 一样效果很好。该应用程序正在运行,但是当我导航到<my-app-url>/ui我在浏览器中得到的只是:

enter image description here

我没有禁用用户界面,所以我不确定发生了什么以及为什么不显示用户界面。我的应用程序没有 /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)

连接从2.0.1版本开始没有swagger-ui捆绑在里面。您已使用以下命令显式安装它(注意引号)

pip install 'connexion[swagger-ui]'

一旦你安装了它。 swagger 将与连接一起工作。在早期版本中,swagger 用于将 /ui 添加到末尾的 URL 中http(s)://host:port

但在2.0.x以后使用http(s)://host:port/<basepath>/ui

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 连接不显示 Swagger UI 的相关文章

随机推荐

  • 无法读取 null 的属性“getSheetByName”

    function sortResponses var Sheets SpreadsheetApp getActiveSpreadsheet getSheetByName Fall 01 sheet sort 3 false 我有一张名为Fa
  • RESTAdapter 初始化后添加标头

    我正在尝试添加一个Authorization适配器初始化和使用后 我的适配器请求的标头 我可以在创建时以静态方式添加标题ApplicationAdapter 但我似乎无法让它在后续 REST 调用中使用标头 我正在尝试这个 var auth
  • 使用 AntBuilder 在 Groovy 中压缩文件/目录

    我正在尝试使用 AntBuilder 压缩 Groovy 中的文件和目录 我有以下代码 def ant new AntBuilder ant zip basedir Testing destfile file zip includes fi
  • ITextSharp 中的页眉和页脚

    我知道这个问题已经被问过一千次了 但我还没有找到直接的答案 我对 ITextSharp 比较陌生 所以请像在和幼儿说话一样解释 如何将简单的纯文本页眉和页脚添加到我正在创建的文档中 我正在使用以下代码创建一个简单的 pdf 文档 void
  • 使 Codeigniter 网站多语言化的最佳方法。从 lang 数组调用取决于 lang 会话?

    我正在研究几个小时 但我找不到任何清晰 有效的方法来实现它 我有一个英文版的 codeigniter 基础网站 现在我必须添加波兰语 根据访问者的选择将我的网站设置为两种语言的最佳方法是什么 有没有办法为每种语言创建数组文件并在视图文件中调
  • ASP Classic - 类型不匹配:'CInt' - 简单问题

    ASP classic 中存在类型转换问题 这是我的代码 Set trainingCost Server CreateObject ADODB Recordset strSQL3 SELECT cost1 FROM tblMain WHER
  • 有没有办法将 MongoDB shell 输出“漂亮”地打印到文件中?

    具体来说 我想打印 mongodb 的结果find 到一个文件 JSON 对象太大 因此我无法使用 shell 窗口大小查看整个对象 shell 提供了一些不错但隐藏的功能 因为它是一个交互式环境 当您通过 mongo Commands j
  • 在mysql中通过key在json中查找

    我有一个 json 我想提取一个键的值 我知道钥匙名称 但不知道位置 我的 json 很复杂 在 mysql 中看起来像这样 set jsonstr glossary title example glossary GlossDiv titl
  • Swift 3 - 如何验证对象的类类型

    这行代码曾经适用于 Swift 2 但现在在 Swift 3 中不正确 if gestureRecognizer isMember of UITapGestureRecognizer 我收到此错误 类型名称后需要成员名称或构造函数调用 正确
  • 格式化 UITextField 以用于信用卡输入,例如 (xxxx xxxx xxxx xxxx)

    我想格式化一个UITextField用于输入信用卡号码 使其仅允许输入数字并自动插入空格 以便该号码的格式如下 XXXX XXXX XXXX XXXX 我怎样才能做到这一点 如果您使用 Swift 请阅读我对 Swift 4 的回答的移植并
  • 在 C/C++ 中将矩阵读取为二维数组

    在 C 中将数字矩阵读取 输入到数组中的最简单方法是什么 这是文件内容 尺寸未知 283 278 284 290 290 286 273 266 266 266 261 252 246 382 380 379 381 382 379 384
  • Ajax 响应文本返回为未定义

    我在这段代码中遇到了问题 返回值返回为 未定义 有什么问题 var fx null xmlhttp open GET URL false xmlhttp onreadystatechange function alert enter fun
  • 条形图:更改 x 轴并添加线条

    我有一个动物园 其每日数据如下所示 gt head almorol 1973 10 02 1973 10 03 1973 10 04 1973 10 05 1973 10 06 1973 10 07 183 9 208 2 153 7 84
  • 如何序列化Java类的静态数据成员?

    当我们序列化对象的时候 静态成员是不会被序列化的 但是如果我们需要序列化的话 有什么办法吗 第一个问题是为什么需要序列化静态成员 静态成员与类相关联 而不是与实例相关联 因此在序列化实例时包含它们没有意义 第一个解决方案是使这些成员不是静态
  • 提高 Angular2 输入字段的性能

    我有一个包含日期的组件列表 格式为toLocaleString 和其他东西 在它们之上有一个用于创建新组件的组件 其中包含一个表单 其中包含一些使用 Angulars FormBuilder 构建的输入字段 当我快速输入时 验证会滞后 并且
  • MySQL 错误 1436:线程堆栈溢出,使用简单查询

    我正在对表进行非常简单的更新 这也会触发一个非常简单的触发器 并且它给了我错误 1436 Thread stack overrun 6136 bytes used of a 131072 byte stack and 128000 byte
  • Python 对象的良好风格

    在使用 Python 之前 我的大部分编程都是使用 C 或 Matlab 进行的 我没有计算机科学学位 几乎完成了物理学博士学位 但已经完成了一些课程和大量的实际编程 现在 我正在 Coursera 上学习算法课程 顺便说一句 由斯坦福大学
  • 如何设置App Maker数据源中的当前项目?

    这看起来很基本 但我似乎无法弄清楚如何手动设置当前项目以从数据源使用 举例来说 我有一个表 我注意到当我选择一行来编辑字段时 该行的项目将成为当前项目 因此如果我在该行上有一个链接以导航到页面 则该行的行所选项目将是导航页面的 dataso
  • 按组移动窗口计数不同项

    假设我有一个包含医院就诊的数据集 我的目标是生成一个变量 用于计算访问者在访问日期之前见过的唯一患者的数量 我经常使用 dplyr 的 group by 但这似乎有点棘手 我想我必须使用 group by n distinct 和 sum
  • Python 连接不显示 Swagger UI

    我使用 connexion 模块构建了一个基于 Python Flask 的 REST API 这与使用 swagger yml 文件定义 REST API 一样效果很好 该应用程序正在运行 但是当我导航到