问题标签 [flask-restx]
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 - 使用装饰器时如何使用烧瓶应用程序上下文
我想为这个“文章”端点使用来自Flask-Security-Too的令牌授权。但是,装饰器函数@auth_token_required("token")
需要应用程序的上下文。该应用程序在不同的文件中初始化。
我已经添加了app.app_context()
,但我不知道如何告诉装饰器使用它的上下文。
注意:我正在使用Flask-RestX来提供 SwaggerUI(和 OpenAPI 规范)。此外,我使用 Blueprints/Namespaces 来模块化 API - 这使得它有点复杂。
烧瓶告诉我:
python - 在上传到数据库之前使用 Mongoengine 验证修改
在从有效负载应用修改后,我想在将文档上传到数据库之前对其进行验证。两者都.update()
将.modify()
修改后的文档上传到数据库,所以我不能这样做.modify()
,.validate()
因为无论如何都会上传文档。
我怎么能做这些事情:
- 强制验证
.update()
- 调用
update()
/modify()
不上传到数据库 - 在不上传的情况下修改我的文档(使用 中允许的方便语法
.update()
)
这些东西之一(或类似的东西)是否存在?
payload
可以是常规数据或 mongoengine 中允许的“Django 样式更新关键字参数” 。
这接近我想要做的,但我不想从头开始重新创建文档。
到目前为止,我唯一的解决方案是肮脏的:调用modify()
,验证更新的文档,如果验证失败则重新上传旧文档。
python - 使用 python flask restx,如何在不上传整个文件的情况下知道文件名
亲爱的,我正在使用烧瓶 restx 创建一个上传文件的服务。这些文件的大小可能在 64KB 到 500MB 之间。
实际上,我正在使用烧瓶request.files来了解文件名或其他规范,但该文件完全加载在 TEMP 目录中。
是否可以在不本地加载所有文件的情况下知道这些信息?
flask - 如何在 Flask-restx Swagger UI 中自动使用 Marshmallow Schema
我正在尝试使用 flask-restx 和 marshmallow 创建一个宁静的 Web 服务。
我将棉花糖用于请求和响应验证。
由于flask-restx api docs不支持swagger ui中的棉花糖模式,我想使用doc装饰器添加它。
控制器代码:
架构代码:
我正在尝试将参数从架构自动添加到 api 文档中
它会给出类似的东西
有没有办法做到这一点?
python - 如何使用 swagger 为我的 Python Flask 应用程序定义基本端点?
我正在尝试使用 Swagger 构建一个简单的 Flask 应用程序。到目前为止,经过一些教程,这就是我的main.py
样子:
create_app()
函数定义__init__.py
如下:
现在,当我前往时,localhost:5000/api
我看到 GET/POST 文档正确加载了招摇页面。但是,当我点击时,localhost:5000
我得到了一个URL not found
错误 - 可以理解,因为我还没有定义/
路线 - 这就是我卡住的地方!如何在我的 中定义/
路线main.py
?据我了解,当前提供的所有端点都是/userinfo/
(GET、POST)和/api
. 我想添加该/
端点以方便检查应用程序是否已启动
我是使用 Python 中的 Flask 构建微服务的新手。集成 swagger 实际上改变了main.py
之前没有 swagger 的 coz 的面貌,我所有的路线都被注释了,app.route('/')
所以我可以有一个/
端点。
python - Flask 字段模型空列表
如何仅为空列表制作模型?我现在有一个看起来像这样:
这出现在 Swagger UI 中,如下所示:
但是,我并没有尝试使用字典......我实际上只是想要一个空列表(内容总是会因请求而异)。
所以在 Swagger UI 中,我只希望它显示为一个空的[]
.
flask - 使用 flask-restx 进行 API 响应的 Swagger 文档
我正在阅读带有flask-restx的swagger文档的文档,并按照示例进行操作。我知道为了为 API 采用的参数生成招摇的文档,我应该这样做
但是,我找不到有关如何记录 API 响应正文的说明。不是响应代码,而是例如 get 方法返回的结果。我正在寻找的是如下内容:
任何人都知道这是否可能,如果可以,如何?
python-3.x - 烧瓶restx中的序列化十进制
我正在使用 flask_restx 作为 API。
我需要返回一个 JSON 列表,每个 JSON 可能有 1 个键值对,其中值的类型为 Python decimal.Decimal。当我返回此列表时,我收到错误“十进制不是 JSON 可序列化”。我不想将小数转换为字符串,我希望它们采用相同的格式,但更改为浮点数会有数据截断问题。
我还安装了 simplejson,尝试设置flask_app.json_encoder = SimpleJson.JSONEncoder
,但都没有成功。有人能帮我一下吗?
python - 关于根据Flask_restx的API对象声明位置路由函数的问题
Flask restx 是一个开发api函数的库,通过在flask框架中分文件来开发,支持swaggerui。在一台flask服务器上提供api和web页面时,可以将api部分分成文件,使用restx开发。但是,在注册命名空间以编写flask restx 时需要注意。下面两个源码的区别在于api的命名空间注册部分和api的app.route函数部分,以及api的命名空间注册部分是在app.route之前还是之后。
首先,用第一个源代码执行时,通常在接近/和/test路径时被识别。
但是,第二个源代码只能正常识别 /test 而 / 不能。
可以看到,console log 和 web browser 在接近 / route 的时候也显示 404 错误。但是,在第二个源代码中,并非所有 / 的子路由都不可能。
这样,/root 不被识别,但 /main 识别。
我不知道他们为什么这样做。
python - flask-restx 如何从模型创建解析器
我flask-restx
用于记录和格式化我的 api
我有一个应用程序,包括一个目录,以以下格式保存 json 模式:http: //json-schema.org/draft-07/schema#
(在我的应用程序中,它们保存为 json 文件,在下面的示例中我放它作为一个硬编码的字典来简化示例)
使用架构,我想实现 3 个目标:
- 文件
- 应要求验证
- 解析请求
使用@api.expect(request_model, validate=True)
我设法实现(1)和(2),但我没有找到使用现有模式解析的方法,我不得不创建一个解析器对象reqparse.RequestParser()
,并重写参数。
有没有办法RequestParser
从模型创建?(模型是从现有的 json 模式文件创建的)
这是我的代码:
有没有办法做到:
?