问题标签 [flask-restplus]

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 回答
4813 浏览

python-3.x - 在 https 服务器上提供 Flask-RESTPlus

我对 python 比较陌生,我使用flask-resplus创建了一个微服务。在我的计算机和使用 http 服务的开发服务器上工作正常。我无法控制微服务的部署位置。在这种情况下,它似乎位于负载均衡器后面(不确定细节),使用 https 提供服务。

浏览器给出的实际错误:无法从服务器读取。它可能没有适当的访问控制来源设置。

当我检查网络开发人员工具时,我发现它无法加载 swagger.json。但是正在使用: http://hostname/api/swagger.json而不是 https 来检查它。

我一直在谷歌搜索,我遇到了这个问题的讨论。这似乎是无需更改服务器上的库或配置即可工作的修复程序

但是我仍然无法让它工作。

这就是我所拥有的:

在 api 文件上:

在主应用程序文件上:

还尝试添加:

使用烧瓶-restplus==0.9.2,

任何解决方案都会受到赞赏,只要我不需要在将部署服务的容器上进行配置(可以设置环境变量),即服务需要是自包含的。如果有一个我可以用 pip 安装的 flask-resplus 版本,那已经有一个我可以欣赏的修复程序。

非常感谢各位,

0 投票
1 回答
1075 浏览

swagger - Flask-Restplus,大摇大摆地改变内容类型

我正在使用 flask_restplus 来生成招摇。我必须在 POST 端点之一上接受 Content-Type: application/x-www-form-urlencoded。但是自动生成的 swagger 文档只显示 applicatin/json。我怎样才能改变这种行为?谢谢。

0 投票
1 回答
1126 浏览

python - 如何将嵌套属性编组到架构?

我有一个项目,文章的价格根据它们的位置而不同。

Article型号ArticlePrice如下:

我不想将文章的所有价格返回给客户,而只是返回他的位置价格。比如他收到一个像这样的 JSON:

所以我的架构现在看起来像这样:

这适用lambda 表达式,但在文档(flask-restfulflask-restplus)中他们谈论了另一种方式,但我无法使其工作如下:

我错过了什么?为什么最后一个语法不起作用?我误解了这种语法用法吗?

0 投票
0 回答
813 浏览

flask-restplus - 使用烧瓶限制器限速端点

我知道并喜欢flask-limiter旧项目。现在我想在我flask-restplus的基础项目中使用它。

我的最终解决方案将使我能够对每个方法级别进行速率限制。因此,不同的费率适用于帖子而不是 get 方法。但是,如果我可以定义每个资源(甚至每个命名空间)级别的限制,我已经很高兴了。重要的是每个资源都需要自己的速率限制。

我的第一次尝试是使用@limiter.limit("1 per Minute"). 但这完全被忽略了。

下一次尝试比在命名空间本身上使用它:

好吧,也不起作用。但

做这件事。但是留下一个问题:我只能为每个应用程序定义一个限制器。所以我只能将一个限制规则应用于我的所有命名空间。

关于如何flask-restplus接受传递给限制器装饰器的参数的任何想法?

还是有更好的方法来管理我刚刚没有看到的烧瓶-resplus 中的速率限制?

0 投票
3 回答
3840 浏览

python - 在 Python Flask RestPlus 上捕获异常

当对我的一个 API 的调用未返回任何结果时,我正在努力寻找一种返回响应的方法。我正在使用flask_restplus,并尝试使用@api.errorhandler 注释但没有成功,然后我在课堂上尝试了一个普通的try/except 块。

在这个特定问题中,我试图调用端点,其中 GUID 是数据库中不存在的用户。

用户端点定义如下:

我的初始化是在 app/ init .py 中完成的:

我此时定义 api 的 resplus.py 模块只有 api 对象的定义,但我曾尝试在网上遵循一些示例,并在其中定义通过 users 对象中的注释处理异常的方法。

但是,当我拨打电话时,我得到的不是带有消息和 404 代码的 JSON 响应,而是:

提前感谢您的帮助。

0 投票
1 回答
3175 浏览

python - Flask API 实现的设计模式

我正在使用带有 flask-restplus 和 sqlalchemy 的烧瓶。

我的 rest API 函数如下所示:

我愿意将额外的数据添加到usersAPI 应该返回的集合中。其中一些数据可能存储在其他数据库表中,而其他数据则存储在内存中。

我通常做的是这样的:

显然,我不喜欢这种将数据动态添加到 User 对象的方法。但是实现它的最佳设计模式是什么?

0 投票
1 回答
3717 浏览

swagger - flask restplus 路径变量默认值

如何使用 Flask restplus 设置路径变量的默认值?

例如,使用以下内容:

如何设置年份、纬度和经度的默认值?

如果它是一个请求变量,可以执行以下操作:

0 投票
1 回答
790 浏览

python - 如何在 api 路由处理程序中共享 flask-pymongo 实例

我正在尝试使用flask、flask-restplus 和flask-pymongo 设计一个简单的api,但我面临一个基于导入和变量共享的结构设计,我无法以任何方式访问数据库。

这是我的主引擎文件中的代码:

但同时,我想在实际的 api 实现中访问 db 实例:

我收到以下错误。

很长一段时间以来,我一直在尝试解决这个问题,因为我不认为这是一个愚蠢的结构性决定,但我可能错了。哪些方式,无论是结构还是进口方式都可以帮助解决这个问题?

先感谢您!

0 投票
4 回答
6936 浏览

python - Python Flask RestPlus 枚举类型

正在使用python 3.4.我创建了一个enum类型,如下所示:

我的问题是如何将其分配给 flask-restplus 字段,因为我能看到的唯一示例是:

fields.String(description='The object type', enum=['A', 'B'])

0 投票
0 回答
1194 浏览

python - 在通过 Nginx 代理并由 gunicorn 托管的 Docker 上运行时无法访问 swagger UI

我有一个在端口 5000 上本地运行的 Flask(带有 Flask-restplus)应用程序。当我在本地启动应用程序并转到 URL 下方时,我可以看到 Swagger UI。

但是当我在 NGINX 后面运行它时,gunicorn 并转到

我得到以下错误

当我查看 chrome 错误时,我看到向http://localhost/api/swagger.json发出请求,这是因为 NGINX 容器在端口 81 上运行时出现的问题?

但是我可以通过http://localhost:81/api/centres/1向我发出邮递员请求,并且我得到了预期的数据

在过去三天谷歌搜索后,选项是:

  • 在响应中发送 CORS 标头。我不喜欢这个,因为它是一个安全风险。
  • 配置 NGINX 以将请求重定向到正确的 url ( http://flask.pocoo.org/snippets/35/ )

这就是我的服务器配置的样子

它仍然没有向我展示招摇的用户界面。我是这个 Docker、Nginx 和 gunicorn 世界的新手。如何解决这个问题?