问题标签 [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 回答
2323 浏览

python - 如何将变量传递到 Connexion Flask 应用程序上下文?

我像这样运行 Connexion/Flask 应用程序:

代码中的其他地方:

这不起作用 - 我无法将变量 ('bla') 传递给第二个代码示例。

知道如何正确传递上下文变量吗?或者如何传递一个变量并将其全局用于所有 Flask 处理程序?

我已经尝试过这个解决方案(有效):在第一个代码部分中,我要添加:

在第二个代码部分会有:

此解决方案不使用应用程序上下文,我不确定它是否正确。

0 投票
1 回答
1213 浏览

python - Swagger-ui connexion 找不到 Python 嵌套函数

我正在尝试使用Swagger记录一个已经存在的 python API 。我在编辑器的帮助下编写了 swagger.yaml 并记录了每条路线。现在我想使用connexion部署文档。

(swagger.yaml 文件的简要示例)

我在服务器启动期间通过 connexion.app 更改了 Flask 应用程序,并且能够指定 .yaml 文件。但是当我尝试启动它时,它会立即崩溃:

据我了解,connexion 将基于对象operationId的手动测试功能,在需要指向处理请求的功能的每条路线中。问题:API 的每个路由都定义为嵌套函数。

我知道python中的嵌套函数实际上根本不是函数:不可调用,只是存在于语言中,以便我们程序员组织我们的代码。

我认为这将是连接的问题,它只是无法找到这些功能并将它们映射到手动测试功能,但我不知道如何解决这个问题。您是否看到允许 connexion 映射函数而无需重构整个 API 以便没有嵌套函数的东西?

非常感谢您的帮助。

0 投票
2 回答
607 浏览

python - 使用 connexion+Flask+Swagger 的 python 微服务出错

我正在尝试使用 python 制作微服务,我正在关注本教程

但我收到了这个错误:

项目结构:

项目结构图

App.py文件代码

my_super_app.yaml文件代码

items.py文件代码

0 投票
1 回答
1022 浏览

python - 在 swagger 文件配置中,可以在路径中获取 2 个参数

我对 Flask、Connexion 和 Swagger yaml 文件有疑问。我必须将路径定义为:/price/{code1}/{code2}.

在我的 yaml 文件中,我将根路径设置为:

当我执行时,server.py我收到此错误:

如果我删除{code2}服务器正确启动。

  • 蟒蛇 2.7
  • 烧瓶 1.0.2
  • 连接 2.2.0

这是我的代码:

服务器.py

这就是 Yaml

0 投票
1 回答
4091 浏览

python - Pytest:从父类继承夹具

我有几个测试用例来测试基于烧瓶/连接的 api 的端点。

现在我想将它们重新排序为类,所以有一个基类:

现在我有另一堂课,里面有我的实际测试用例:

现在不幸的是我总是得到一个

将夹具继承到子类的正确方法是什么?

0 投票
0 回答
909 浏览

python - 从烧瓶的视图函数返回 204 No Content

我有这个服务器代码,我使用'add_url_rule'来添加一个视图函数。

这是我的处理函数:

当在这个 url 上点击一个 post 请求时,我会得到这个错误: TypeError: the view function did not return a valid response。这是因为我返回 None,而烧瓶不喜欢这样。

但是如果我使用return '', 204,它会给出另一个错误,说不能用 204 发送正文。

在这种情况下,我怎样才能返回 204 no content?

0 投票
0 回答
1323 浏览

python - 使用 marshmallow-mongoengine 加载数据时如何包含其他未知字段?

我正在使用marshmallow-mongoengineMongoEngine在FlaskConnexion之上构建一个 REST API来与MongoDB一起工作。

问题:如果我的输入数据包含额外的未知字段,则在使用 marshmallow-mongoengine 加载数据时,它们总是被排除在结果对象之外;即使我的 MongoEngine 文档在扩展时应该允许它们DynamicDocument。例如,

从示例中可以看出,该字段已从加载的对象age中排除。user

问题:如何在使用 marshmallow-mongoengine 加载数据时包含其他未知字段?我错过了什么?或者也许有更好的方法来使用 MongoDB。无论哪种方式,我都希望控制要(反)序列化的字段,并能够返回类似于“转储用户”输出中显示的 JSON,但包含该age字段。

0 投票
1 回答
1230 浏览

python - 如何使用 Connexion + Tornado 更改所有错误的错误格式

我正在使用 Connexion ( https://github.com/zalando/connexion ) 来确保我的 openapi 规范得到很好的遵循,并有简单的集成点来将我的路由连接到底层函数。

在任何情况下,来自 Connexion 的默认错误响应都是遵循HTTP API 的问题详细信息RFC 的 json 响应。即以下格式,例如:

但是,我想将发送的所有错误的格式更改为:

我找不到任何方法来拦截每个错误以更改返回的格式。我知道我可以扩展类并在其构造函数中connection.exception.ProblemException向参数添加一个字典,但是对于任何错误,例如,我无法拦截它。ext400

所以,我知道可以为特定的错误代码添加错误处理程序,例如:

但是,对于404处理程序,我设法成功拦截了错误。但是对于400(例如 json 验证错误) - 拦截不起作用。

如何拦截从 Connexion 发送的每个错误并更改 json 格式,即使它只是将其扩展为:

我使用带有“龙卷风”服务器的 Connexion。

提前致谢。汤姆

0 投票
1 回答
2387 浏览

python-logging - 如何记录 swagger / connexion 请求正文?

我正在使用 connexion 和 Swagger 在 Python 中创建 API。我想将所有来电记录到一个文件中,以便查看请求的内容。我已经能够记录我收到的电话的路径,但我不知道如何记录身体。

这是我配置日志记录的地方:

当我查看日志时,我看到了路径,如下面的 POST 调用...

2019-03-23 12:47:16,182 - werkzeug - INFO - 127.0.0.1 - - [23/Mar/2019 12:47:16] “POST /golden_record/account HTTP/1.1” 400 -

但我没有看到电话的正文(即我发送的数据)。有没有办法为每个打进来的电话自动记录这个?这样做将有助于调试未按预期运行的调用。谢谢!

0 投票
1 回答
95 浏览

python - 如何修复 self._validate_spec(raw_spec) 中的异常?

我正在尝试使用 Connexion 从包含 OpenAPI 3.0.0 规范的 .yaml 文件中生成 Flask 代码。

当我执行这个:

我明白了

我得到了这个例外:

.yaml 文件不包含“x-scope”。这个定义从何而来?我怎样才能克服这个异常?