问题标签 [fastapi]

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 投票
9 回答
45937 浏览

python - 如何在 fastAPI 中返回图像?

使用 python 模块fastAPI,我不知道如何返回图像。在烧瓶中,我会做这样的事情:

这个模块中对应的调用是什么?

0 投票
2 回答
1661 浏览

python - 使用 MyPy 的项目中的 FastAPI/Pydantic

我目前正在学习 fastAPI 教程,我的环境设置为 black、flake8、bandit 和 mypy。本教程中的所有内容都运行良好,但我一直不得不 # type: ignore things 让 mypy 合作。

Mypy 然后错误:

我可以 # type: ignore ,但是我在编辑器中丢失了类型提示和验证。我是否遗漏了一些明显的东西,还是应该为 FastAPI 项目禁用 mypy?

0 投票
2 回答
1987 浏览

python - FastAPI websocket无法连接

我试图让我的 Vue.js 应用程序使用 websockets 与我的 FastAPI(基于 starlette)本地服务器通信。我尝试使用与他们的示例完全相同的代码:https ://fastapi.tiangolo.com/tutorial/websockets/ 。但是发生了一些奇怪的事情,因为我的服务器无法启动原因:AttributeError: 'FastAPI' object has no attribute 'websocket'. 这很奇怪,因为这个确切的代码是 FastAPI 的官方文档。
之后我使用了 Starlette 示例代码:https ://www.starlette.io/websockets/ 。但是,当我尝试连接到它时,FastApi 会打印到终端:WARNING: Invalid HTTP request received.
我尝试使用另一个客户端,简单 WebSocket 客户端:https ://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo,但同样的错误出现在终端上。
我在这里做错了什么?首先,我发现 FastAPI 代码似乎无法在我的计算机上运行,​​这很奇怪,有人知道为什么吗?

提前致谢!

0 投票
1 回答
584 浏览

python - 什么是身体?`从fastapi导入正文`

文档和其他地方我见过Body使用但不知道它是什么。

有人可以解释这三个选项的含义吗?

0 投票
1 回答
3554 浏览

ios - Uvicorn 服务器意外关闭

我正在使用由 Uvicorn 服务器提供的 FastAPI 框架。我的应用程序应该在给定的端点 (/run) 上运行一些耗时的数值计算。为此,我使用了来自 fastAPI 的“background_task”(基本上是来自 Starlette 的“background_task”)。

运行应用程序时,经过一些名义行为后,服务器由于某种原因而关闭。

应用程序的日志如下所示:

我真的不明白为什么会这样。我不知道要尝试什么来修复它。

我的代码看起来像这样。

0 投票
1 回答
142 浏览

fastapi - FastAPI:修改响应代码,同时保留自动验证

在下面的代码中,我创建了一个发布路由,无论输入如何,它都会发回相同的响应。

输入和输出是自动验证的,因为我在适当的地方引用了 pydantic BaseModel。

在您的文档中,您有如何修改响应代码的示例。

两个问题:

  • 如何在保留响应验证(我放置在装饰器中)的同时有条件地修改响应代码?

  • 我能做些什么来清理我的代码?为输入提供默认值的首选方法是什么?你能举个例子吗?

0 投票
4 回答
12340 浏览

fastapi - 是否有一种 FastAPI 方法可以在全球范围内访问当前的请求数据?

在 FastAPI 框架内:

虽然请求数据当然可以作为参数传递,但我想知道函数是否可以在不传递参数的情况下访问有关当前请求的信息。

免责声明:我不认为全局访问请求数据是一个好的做法,但我有一个用例,如果能够做到这一点会非常好。

0 投票
3 回答
2591 浏览

python - 如何将 SQLAlchemy 结果行转换为嵌套字典

我正在评估在 async/await FastAPI应用程序中使用 SQLAlchemy 的潜在设置。我目前正在使用declarative_base类组合模型和查询,然后使用数据库执行查询(模型类的语法更具可读性和易于编写;直接使用 SQLAlchemy 核心表不是我最喜欢的活动)。这一切都很好。

此时,我有 SQLAlchemy 结果行,但我需要将它们转换为通用 dicts,由于急切加载的关系可能会嵌套(在此环境中仅支持我的类型)。我不能使用 SQLAlchemy 的 ORM,因为 1)我没有engineor session;和 2) ORM 假设它可以在需要加载对象时访问数据库,这在 async/await FastAPI 应用程序中并非如此。

有没有人对如何实现这一点有想法或指示?我正在努力弄清楚如何将结果行与特定的关系键相关联,特别是。我一直在 SQLAlchemy 内部寻找想法,但它非常不透明,因为其中很多假设我的设置中不存在整个对象缓存和会话/引擎管理层。

我可以使用以下两点想法:

  1. 如何将列名称映射table_1_column_name到特定模型及其属性
  2. 如何检测和映射关系(可能不止一层)

感谢您的任何帮助,您可以提供!

更新:您可以在这里找到一个可运行的示例:https : //gist.github.com/onecrayon/dd4803a5099061fa48d52f2d4bc2396b(有关我需要弄清楚如何通过映射将 RowProxy 转换为嵌套字典的相关位置,请参见第 92-109 行查询列名称到 SQLAlchemy 模型上的名称)。

0 投票
3 回答
16921 浏览

python - 使用 PyTest 进行测试时如何在后台启动 Uvicorn + FastAPI

我有一个用Uvicorn + FastAPI编写的 REST-API 应用程序

我想使用 PyTest 进行测试。

我想在开始测试时在夹具中启动服务器,所以当测试完成时,夹具将终止应用程序。

FastAPI 测试展示了如何测试 API 应用程序,

这不会以通常的方式使服务器联机。似乎由 client.get 命令触发的特定功能是唯一运行的东西。

我找到了这些额外的资源,但我无法让它们为我工作:

https://medium.com/@hmajid2301/pytest-with-background-thread-fixtures-f0dc34ee3c46

如何将服务器作为 py.test 的夹具运行

你将如何从 PyTest 运行 Uvicorn+FastAPI 应用程序,所以它会随着测试而上升和下降?

0 投票
1 回答
208 浏览

fastapi - `validator` 方法是否需要检查所需的参数?

文档看来,此代码在 in 的第二个validator装饰方法中password1包含一个额外的检查values

我的观察是否正确 - 因为password1不包含默认值,它确实是必需的,所以应该在那里?

好的,在我看到的文档中继续阅读:如果另一个字段的验证失败(或该字段丢失),它将不会包含在值中,因此如果值中的 'password1' 和 ... 在此示例中。

我可以看一个例子来说明这意味着什么吗?这是否意味着我需要始终检查值是否存在,如果它们在我的验证中发挥作用,即使它们是必需的?