问题标签 [connexion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
259 浏览

python-3.x - Python2 连接框架 - 目录结构中的控制器

我正在使用连接框架为我的应用程序设置 REST API 访问。

我的应用程序是基于 python2 构建的,我为 python2 安装了 connexion 框架,并通过编辑器 (editor.swagger.io) 使用了 yaml 文件。我下载了 Python Flask 服务器代码,将其转换为与 Python2 兼容并针对单个控制器进行了测试。

当控制器放置在与服务器运行的地方相同的目录中时。一切都很好 - 所有路线都已添加并按预期工作。然后我根据一些业务逻辑继续拆分控制器,并希望每个控制器都有一个树结构。

就像是

等等。这不适用于 python2。它似乎适用于python3。任何想法为什么?
我从日志中收到以下错误

在 yaml 配置文件中,我将 OperationId 添加为 api.magic1.func1() 等等。

0 投票
1 回答
2452 浏览

python - 从 Swagger 编辑器生成 Swagger 服务器(Python Flask)时出错

我使用 Swagger Editor 手动生成我的 Swagger 规范文件并为 Python Flask 服务器生成文件。按照自述文件我安装了 connexion,但是当我运行时python app.py出现错误:ValueError: need more than 1 value to unpack。有任何想法吗?

下面的完整堆栈跟踪:

0 投票
1 回答
718 浏览

python - 是否可以在连接中使用异步,使用龙卷风的招摇代码生成 python 服务器?

如果我添加@gen.coroutine到处理由 connexion 生成的请求的方法中,它将停止工作。它将中断与客户端的连接并且不返回任何内容。

如何异步使用 connexion+tornado?gen.sleep例如?如果我yield gen.sleep在请求处理程序中没有@gen.coroutine,它不会等待指定的时间。

0 投票
2 回答
702 浏览

python - Python Connexion - 控制“类型”键输入 400 响应错误

我正在使用connexion,这是一个用于 REST API 的 python 库,它有一个大摇大摆的定义。它在实际请求中正常工作,但是当出现错误条件时,例如验证失败,它会返回如下响应:

标题、状态和详细信息都很好且有意义,但有没有办法让我控制type密钥的值,以便我可以提供更多有用的信息,而不是简单地about:blank在那里?

在引擎盖下,似乎 connexion 使用请求和烧瓶,所以也许我可以从它们中利用一些东西?

0 投票
1 回答
4068 浏览

python - 将 Swagger/OpenAPI 生成的 python 服务器与现有的 Flask 应用程序集成

我有兴趣将swagger-codegen生成的 Python 服务器与现有的 Flask 应用程序集成。 swagger-codegen生成基于Connexion库的 Python 实现Swagger API specification

我发现的所有示例似乎都期望connexion.App管理整个flask应用程序。

但是,我有现有的蓝图、配置和 sqlalchemy 模型,我想与生成的 Connexion API 集成。它看起来像是connexion.App.app底层的 Flask 应用程序。一种选择可能是进入并扩展 Connexion Flask 应用程序,可能是这样的:

尝试搭载高度定制的 Connexion Flask 应用程序似乎比将裸蓝图集成connexion.Api到我现有的 Flask 应用程序中更简单。但是,我无法轻易判断 Connexion 是否旨在与非 Connexion 管理的蓝图很好地配合使用。

在现有的传统 Flask 应用程序中集成 Connexion Swagger 定义的 API 的最佳方式是什么?有没有人走这条路?

0 投票
1 回答
1146 浏览

python - Python Connexion - 响应修剪

我正在使用Swagger Editor生成 Python Flask 服务器,我遵循了Connexion文档,但出现了问题:

我在 swagger YAML 文件中定义了以下响应:

我期望的是返回以下响应:

但是,数据库 API 返回一个更大的数据集,例如:

为了返回我期望的响应,我有 2 个解决方案,但它们都不是完美的:

解决方案1:

手动定义一个较小的数据集,例如:

但很明显,对于每个响应,我都必须硬编码一个变量_response,这意味着我必须在 2 个位置(大张旗鼓的 YAML 和代码)维护响应属性。

解决方案2:

模型是由 swagger codegen 生成的,所以我必须访问模型并尝试获取响应属性,例如,用户模型可能定义如下:

这可能很容易,但实际上响应属性有很多 $ref 并且 $ref 中总是有 $ref。我找不到轻松获得所有属性的方法。

所以我的问题是,最好的解决方案是什么?

非常感谢!

0 投票
1 回答
602 浏览

python - Swagger Body 参数返回 400“Extra formData parameter(s) name not in spec”

通过 Python-2.7、connexion 和 Pycharm 发送正文参数时遇到问题。

api.yaml

应用程序.py

跑步

返回

YAML 在Swagger Editor中验证,但运行 Send Request 给出

将 addProduct() 的返回更改为

仍然返回 400,所以问题显然在连接级别。

非常感激

0 投票
1 回答
999 浏览

python - 基于连接类的处理

我正在使用烧瓶的连接框架。我想将几个相关的函数分组到一个类中,我想知道一个类的方法是否可以用于 operationId 而不是函数。

就像是

在描述yaml文件中:

0 投票
2 回答
8689 浏览

python - 如何测试 Connexion/Flask 应用程序?

我正在使用Flask的Connexion框架来构建微服务。我想为我的应用程序使用.py.test

pytest-flask文档中,它说要创建一个固定装置conftest.py来创建应用程序,如下所示:

conftest.py

在我的测试中,我使用这样的client夹具:

test_api.py

但是,当我运行时,py.test我收到以下错误消息:

我怎样才能py.test工作?这是我的create_app功能:

main.py

0 投票
1 回答
1066 浏览

python - 无法将 swagger 服务器访问到 docker 容器中

我在 python 中有一个 swagger 服务器 api,我可以在我的电脑上运行,并通过 web 轻松访问用户界面。我现在正在尝试将此 API 运行到 docker 容器中并将其放入远程服务器中。在远程服务器中执行“docker run”命令后,一切似乎都工作正常,但是当我尝试连接时,我得到了 ERR_CONNECTION_REFUSED 响应。有趣的是,如果我进入容器,swagger 服务器正在工作并回答我的请求。

这是我的 Dockerfile:

这是我构建/运行的命令:

这是 start.sh 脚本:

以及swagger服务器的主要.py:

有谁知道为什么我无法访问 'myremoteserver:33788/myservice/ui' 以及为解决它需要改变什么。

提前致谢