问题标签 [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.
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 版本,那已经有一个我可以欣赏的修复程序。
非常感谢各位,
swagger - Flask-Restplus,大摇大摆地改变内容类型
我正在使用 flask_restplus 来生成招摇。我必须在 POST 端点之一上接受 Content-Type: application/x-www-form-urlencoded。但是自动生成的 swagger 文档只显示 applicatin/json。我怎样才能改变这种行为?谢谢。
python - 如何将嵌套属性编组到架构?
我有一个项目,文章的价格根据它们的位置而不同。
和Article
型号ArticlePrice
如下:
我不想将文章的所有价格返回给客户,而只是返回他的位置价格。比如他收到一个像这样的 JSON:
所以我的架构现在看起来像这样:
这适用于lambda 表达式,但在文档(flask-restful和flask-restplus)中他们谈论了另一种方式,但我无法使其工作如下:
我错过了什么?为什么最后一个语法不起作用?我误解了这种语法用法吗?
flask-restplus - 使用烧瓶限制器限速端点
我知道并喜欢flask-limiter
旧项目。现在我想在我flask-restplus
的基础项目中使用它。
我的最终解决方案将使我能够对每个方法级别进行速率限制。因此,不同的费率适用于帖子而不是 get 方法。但是,如果我可以定义每个资源(甚至每个命名空间)级别的限制,我已经很高兴了。重要的是每个资源都需要自己的速率限制。
我的第一次尝试是使用@limiter.limit("1 per Minute")
. 但这完全被忽略了。
下一次尝试比在命名空间本身上使用它:
好吧,也不起作用。但
做这件事。但是留下一个问题:我只能为每个应用程序定义一个限制器。所以我只能将一个限制规则应用于我的所有命名空间。
关于如何flask-restplus
接受传递给限制器装饰器的参数的任何想法?
还是有更好的方法来管理我刚刚没有看到的烧瓶-resplus 中的速率限制?
python - 在 Python Flask RestPlus 上捕获异常
当对我的一个 API 的调用未返回任何结果时,我正在努力寻找一种返回响应的方法。我正在使用flask_restplus,并尝试使用@api.errorhandler 注释但没有成功,然后我在课堂上尝试了一个普通的try/except 块。
在这个特定问题中,我试图调用端点,其中 GUID 是数据库中不存在的用户。
用户端点定义如下:
我的初始化是在 app/ init .py 中完成的:
我此时定义 api 的 resplus.py 模块只有 api 对象的定义,但我曾尝试在网上遵循一些示例,并在其中定义通过 users 对象中的注释处理异常的方法。
但是,当我拨打电话时,我得到的不是带有消息和 404 代码的 JSON 响应,而是:
提前感谢您的帮助。
python - Flask API 实现的设计模式
我正在使用带有 flask-restplus 和 sqlalchemy 的烧瓶。
我的 rest API 函数如下所示:
我愿意将额外的数据添加到users
API 应该返回的集合中。其中一些数据可能存储在其他数据库表中,而其他数据则存储在内存中。
我通常做的是这样的:
显然,我不喜欢这种将数据动态添加到 User 对象的方法。但是实现它的最佳设计模式是什么?
swagger - flask restplus 路径变量默认值
如何使用 Flask restplus 设置路径变量的默认值?
例如,使用以下内容:
如何设置年份、纬度和经度的默认值?
如果它是一个请求变量,可以执行以下操作:
python - 如何在 api 路由处理程序中共享 flask-pymongo 实例
我正在尝试使用flask、flask-restplus 和flask-pymongo 设计一个简单的api,但我面临一个基于导入和变量共享的结构设计,我无法以任何方式访问数据库。
这是我的主引擎文件中的代码:
但同时,我想在实际的 api 实现中访问 db 实例:
我收到以下错误。
很长一段时间以来,我一直在尝试解决这个问题,因为我不认为这是一个愚蠢的结构性决定,但我可能错了。哪些方式,无论是结构还是进口方式都可以帮助解决这个问题?
先感谢您!
python - Python Flask RestPlus 枚举类型
正在使用python 3.4.
我创建了一个enum
类型,如下所示:
我的问题是如何将其分配给 flask-restplus 字段,因为我能看到的唯一示例是:
fields.String(description='The object type', enum=['A', 'B'])
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 世界的新手。如何解决这个问题?