问题标签 [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 投票
2 回答
318 浏览

python - Connexion/Flask 应用程序:从请求中获取 base_path

我有一个 connexion/flask/werkzeug 应用程序,我需要能够在请求期间获得“base_path”。例如:我的应用程序位于:http://0.0.0.0:8080/v1.0/ui/#/Pet,base_path 为:“http://0.0.0.0:8080/v1.0”

我希望能够在请求者执行任何定义的操作(GET、POST、PUT 等)时获取 base_path。我一直无法找到一种简单的方法来获取基本路径。通过 python 调试器,我可以看到 base_path 在堆栈的较高位置可用,但似乎不适用于应用程序入口点。

由于 nda 的原因我无法详细说明,我有多个用于此应用程序的 openapi 规范,并且知道请求哪个 base_path 对我来说很重要(因为它们是不同的)。如果有人可以帮助我找出每个请求获取 base_path 的方法,我将不胜感激:)

谢谢!

0 投票
2 回答
577 浏览

python - 如何在 Flask/Connexion 中获取原始请求负载?

我需要在Connexion API 处理程序中获取POST请求的正文。这里接受的答案建议使用,但是这总是只为我返回。我的猜测是,Connexion 在被调用之前解析数据,这就是导致问题的原因。Content-Type: application/x-www-form-urlencodedrequest.get_data()b''request.get_data()

在这种情况下,如何获取原始请求有效负载?如果没有办法直接得到它,我该如何正确地重建它request.form(它似乎包含解析的数据)?

0 投票
1 回答
15 浏览

python - 基于烧瓶的python项目脚本的变化在执行过程中被完全忽略

我正在开发基于 python 的微服务。现在,除了 application.py 脚本之外使用的任何脚本的更改都将被完全忽略。不幸的是,我不知道是什么更改导致了这个问题,但是在本地移动项目目录并重组文件结构后它就坏了。有没有人经历过这种情况并找到解决方案?

0 投票
0 回答
656 浏览

python - Python - Flask - Connexion - Swagger - OpenAPI - 如何隐藏特定的端点规范?

用例:前端命中/openapi.json并获取规范。它使用此响应来填充文档页面。

openapi.yml看起来像:

如果您不想paths在文档页面中填充其中一个的规格怎么办?在上述情况下,如果我不希望前端接收有关/foo/auth端点的信息怎么办?

您可以禁用提供规范https://github.com/zalando/connexion#swagger-json但我找不到任何东西(例如标志)来隐藏特定端点的规范。

0 投票
1 回答
1133 浏览

swagger - 使用 Swagger 描述 API 的标头参数

我正在尝试使用Swagger创建Connexion API (Python+Flask) 的规范。很棒的工具。我知道HTTP 请求标头** 没有作为常规参数传递给处理程序函数,但我需要能够从操作中获取请求标头。我读了https://connexion.readthedocs.io/en/latest/request.html#header-parameters。我使用Swagger Editor生成了一个最小的 python 服务器(概念证明),但它不能从头开始工作,这可能是需求方面的问题:

默认的 requirements.txt 不允许我启动服务器,显示以下错误消息:

并修改 requirements.txt 从 connexion==1.1.15 移动到 connexion==2.6.0 它启动但我最终得到:

这是我的环境:

1.操作系统和运行时:

Ubuntu 18.04 上的 python 3.6.9

2.需求.txt

3.完整的招摇规范:

4.错误: 使用修改后的requirements.txt我只是尝试发布一个创建,传递标头但它会产生错误:

生成的 swagger 服务器转储此输出:

我怎样才能让它工作?

非常感谢!!!

0 投票
0 回答
173 浏览

python - 带有 Swagger 的 Python Flask/Connexion,嵌套 JSON 样式对象的名称仅在运行时知道

我正在使用 flask/connexion 的 Web 服务器,我正在通过swagger.yml文件对其进行配置。我不允许显示原始文件,但我想在参数部分执行类似的操作以进行后期操作:

问题如下:someprop是一个 java 脚本对象,应该保存在一个 json 文件中,并且my_nested_object的键/名称仅在运行时知道,因为someprop将包含多个其“类型”的对象。因此,密钥标识对象。

编辑:我刚刚意识到嵌套对象的数量也是一个问题,因为我在运行时也不知道它。真的没有办法在我的招摇配置中定义“动态”对象吗?

有没有(替代)方法可以使这项工作?

0 投票
1 回答
575 浏览

python - flask connexion add_api 给出错误:AttributeError:模块'agreement_api.controllers.agreement_controller'没有属性'read_agreements'

我正在使用烧瓶和连接来为我的应用程序设置 REST API 访问。

场景 #1: 如果我通过 Pycharm 运行/调试工具启动我的应用程序一切正常(烧瓶应用程序运行,包括我agreement_api/openapi/specification.yaml文件中的 API)。

场景 #2: 但是通过终端执行python agreement_api/app.py(包含应用程序实例的主脚本)在将 specification.yaml API 与我的烧瓶应用程序绑定时出现错误:

显然,上面的错误消息告诉我方法“read_agreeements”不存在,但相信我确实存在(因为场景 #1 工作正常并且没有拼写错误等)我的目录结构如下:

  • 项目
    • 协议_api
      • 控制器
        • 协议控制器.py
      • 楷模
      • 开放API
        • 规范.yaml
      • 应用程序.py
    • Dockerfile
    • 点文件
    • 执照
    • ...

协议控制器.py

规范.yaml

应用程序.py

(在 Docker 容器中运行烧瓶应用程序时的问题也是如此。)

我的目录结构有问题还是我缺少其他东西?我之前没有发布很多问题(应该可以从我糟糕的阐述/解释/风格中看出,所以如果需要,请随时问我任何细节)

如果有人对错误堆栈跟踪感兴趣:

0 投票
0 回答
743 浏览

python-3.x - 在 Python 中使用 Swagger 和 Connexion 获取 utf-8 而不是 \u 转义序列

我正在尝试使用 Swagger 使用 Python 和 Connexion 构建 API。我想生成UTF-8 编码的 JSON输出,但在我的回复中得到了一个像这样的\u转义序列:

而不是这个:

我已经为端点指定了字符集,也许我在规范中缺少关于编组的其他 Swagger 设置:

并且响应标头正确返回内容类型:

我还尝试将其添加到生成的“ swagger_server/__main__.py”中,结果相同:

编辑:这是我的requirements.txt。SwaggerEditor 生成的那个不适用于带有 Python 3.6.9 的 Ubuntu 18.04,它需要connexion == 1.1.15但它因ImportError: cannot import name 'FileStorage'而失败。如果有人给出正确的答案,那就太好了。现在我只需要Connexion及其依赖项:

我怎样才能实现它?谢谢!!

0 投票
1 回答
681 浏览

flask - Flask/Connexion 应用 XHR PUT TypeError:缺少 1 个必需的位置参数

我正在开发一个 Flask 应用程序,我正在使用 Connexion 来配置我的端点。我的目标是向我的服务器发送一个 PUT 请求,该请求采用 JSON 类型的一个主体参数并将其保存到 JSON 文件中,但是当我发送请求时,我最终会遇到内部服务器错误。

我遇到的错误:

我的代码如下所示:

要求

变量config是我发送到服务器的 JavaScript 对象。

服务器

我已经通过单元测试测试了服务器代码,似乎没有问题。

招摇配置

0 投票
1 回答
121 浏览

postgresql - 无法通过 PSQL 或 php 连接到 postgres,只有 pgAdmin4

我安装了 PostgreSQL 12 并使用 Windows 10。我的目标是通过 php 连接到 postgre,因为它不起作用我尝试使用 plsql 但它也不起作用,我总是得到(plsql 和 php 都使用 PDO) :

在cmd中通过plsql连接

但是,当通过 pgAdmin4 尝试时,我可以连接并访问我的数据库。我首先使用我的 root 密码,然后有时使用我的 postgres 用户密码,所以我确定我的密码有效。

这是我的 pg_hba.conf 文件: pg_hba.conf 文件

我有一个设置为 vua pgAdmin4 的 postgres 密码。

我不明白为什么它会以一种方式而不是另一种方式起作用,有人可以帮助我吗?