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

sqlalchemy - 如何为 FastAPI 应用程序编写 SQLAlchemy 测试装置

我正在编写一个使用 SQLAlchemy 数据库的FastAPI应用程序。从 FastAPI 文档中复制了示例,为了简洁起见简化了数据库模式。完整的源代码在这篇文章的底部。

这行得通。我可以uvicorn sql_app.main:app通过 Swagger 文档运行它并与数据库交互。当它运行时,它会test.db在工作目录中创建一个。

现在我想添加一个单元测试。像这样的东西。

使用下面的源代码,这将test.db工作目录中的作为数据库。相反,我想为在测试结束时删除的每个单元测试创​​建一个新数据库。

我可以将全局database.enginedatabase.SessionLocal放在运行时创建的对象中,如下所示:

但我不知道如何使用main.get_db,因为Depends(get_db)逻辑最终假设database.engine并且database.SessionLocal在全球范围内可用。

我习惯使用 Flask,它的单元测试工具会为您处理所有这些。我自己不知道怎么写。有人可以告诉我为了在这个框架中为每个单元测试生成一个新的数据库我必须做的最小的改变吗?


简化的 FastAPI/SQLAlchemy 应用程序的完整源代码如下。

数据库.py

模型.py

架构.py

crud.py

主文件

0 投票
5 回答
8893 浏览

python - FASTAPI 记录到文件

为什么我在记录时 FastAPI 不创建日志文件

这是我使用的代码

与烧瓶不同,文件“logfie.log”不会自动生成。还有其他配置吗?

0 投票
1 回答
388 浏览

python - OpenAPI 生成的架构请求正文显示默认值而不是类型

在将 Pydantic 与 FastApi 一起使用时,我有一个自动生成的 Swagger UI。

示例 Post 方法的代码如下,其中包含使用的 pydantic 模型。

为此,UI 显示以下内容:

图像 1图像 2

在尝试时:

图 3

但是,在试用时,我希望预填充的值不是类型,而是指示的默认值(即“stackl”、“web”和“default_test_instance”)。我去了文档,但还没有找到一种方法来做到这一点。这可能吗?

0 投票
1 回答
3287 浏览

python - 如何在python中将字符串数组传递给fastapi

这是我制作的功能:

想法是将一个字符串数组传递给一个文件,该数组基本上形成了函数中的一个路径,我可以从一个应用程序中获得一些数组来提供文件,并在它们遍历文件夹时向这个函数发送一个字符串数组。但是.. 我不知道如何从 python 请求之类的东西发送参数列表。

这是我编写的示例函数。

Api 甚至不接受 aq 值。我错过了什么?这是遍历目录的正确方法吗?在 url 格式中,请求如下所示:

在我看来不合适。

0 投票
1 回答
1017 浏览

python - 在 FastAPI 应用程序中处理有条件要求的参数的最佳方法是什么?

我正在开发一个 FastAPI 应用程序。我有以下架构

如果 address_street 和 addres_number 不存在,我希望有条件地需要字段 address_string,反之亦然,如果 address_street 不存在,则需要 address_street 和 address_number。

目前,我通过将所有字段设为可选并使用 root_validator 来检查一致性,并在相关字段的描述中记录此条件要求来管理这一点。

有没有更简洁的方法来管理这个内置的 FastAPI?

0 投票
2 回答
1705 浏览

python - 如何在 FastAPI 中为 UploadFile 创建 OpenAPI 模式?

UploadFileFastAPI 自动在 OpenAPI 规范中为参数生成模式。

例如,这段代码:

components:schemas将在 OpenAPI 规范中生成此模式:

如何明确指定 UploadFiles 的架构(或至少其名称)?

我已阅读 FastAPIs 文档并搜索了问题跟踪器,但一无所获。

0 投票
1 回答
2324 浏览

python - 如何在显式文件中登录python

我尝试了下面的代码,却发现我的日志正在控制台中打印。我在这里犯了什么错误?

我通过 uvicorn 服务器将此代码作为 fastapi 项目运行。

0 投票
4 回答
10129 浏览

python - FastAPI 中间件窥探响应

我尝试为 FastAPI 编写一个简单的中间件来查看响应体。

在此示例中,我只记录正文内容:

然而,看起来我以这种方式“消耗”了身体,导致了这个异常:

试图查看响应对象,我看不到任何其他方式来读取其内容。正确的方法是什么?

0 投票
1 回答
10826 浏览

python - 如何测试使用图像的 FastAPI api 端点?

我正在使用 pytest 测试一个 FastAPI 端点,该端点以二进制格式输入图像,如

启动服务器后,我可以通过运行调用手动成功测试端点requests

但是,以以下形式设置测试:

运行测试时python -m pytest,这给了我一个

我究竟做错了什么?使用图像文件
编写测试函数的正确方法是什么?test_image_analysis()

0 投票
9 回答
49874 浏览

python - FastAPI 抛出错误(加载 ASGI 应用程序时出错。无法导入模块“api”)

我尝试使用 uvicorn webserver 运行 FastAPI,但它会引发错误。

我运行这个命令,

uvicorn api:app --reload --host 0.0.0.0

但终端出现错误。

我非常感谢任何建议或建议