FastAPI教程 请求体 – 更新数据
用 PUT 更新数据 更新数据请用 HTTP PUT 操作。 把输入数据转换为以 JSON 格式存储的数据(比如,使用 NoSQL…
FastAPI教程 依赖项 – 第一步
FastAPI 提供了简单易用,但功能强大的依赖注入系统。 这个依赖系统设计的简单易用,可以让开发人员轻松地把组件集成至 FastAPI。 什么是「依赖注入」 编程中的「…
FastAPI教程 子依赖项
FastAPI 支持创建含子依赖项的依赖项。 并且,可以按需声明任意深度的子依赖项嵌套层级。 FastAPI 负责处理解析不同深度的子依赖项。 第一层依赖项 下列代码创建…
FastAPI教程 路径操作装饰器依赖项
有时,我们并不需要在路径操作函数中使用依赖项的返回值。 或者说,有些依赖项不返回值。 但仍要执行或解析该依赖项。 对于这种情况,不必在声明路径操作函数的参数时使用 Dep…
FastAPI教程 全局依赖项
有时,我们要为整个应用添加依赖项。 通过与定义路径装饰器依赖项 类似的方式,可以把依赖项添加至整个 FastAPI 应用。 这样一来,就可以为所有路径…
FastAPI教程 与yield的依赖关系
FastAPI 支持在完成后执行一些额外步骤的依赖项。 为此,请使用yield代替return,并在之后编写额外的步骤。 提示 确保使用yield一次。 技术细节 任何可用于以下功…
FastAPI教程 安全性 – 第一步
假设您在某个域中拥有后端API。 并且您在另一个域或同一域的不同路径(或移动应用程序)中有一个前端。 并且您希望有一种方法让前端使用用户名和密码与后端进行身份验证。 我们可以使用O…
FastAPI教程 获取当前用户
在上一章节中,(基于依赖项注入系统的)安全系统向路径操作函数提供了一个 str 类型的 token: from fastapi import Depe…
FastAPI教程 使用密码和 Bearer 的简单 OAuth2
现在让我们接着上一章继续开发,并添加缺少的部分以实现一个完整的安全性流程。 获取 username 和 password 我们将使用 Fas…
FastAPI教程 使用(哈希)密码和 JWT Bearer 令牌的 OAuth2
既然我们已经有了所有的安全流程,就让我们来使用 JWT 令牌和安全哈希密码让应用程序真正地安全吧。 你可以在应用程序中真正地使用这些代码,在数据库中保存密码哈希…
FastAPI教程 CORS(跨域资源共享)
CORS 或者「跨域资源共享」 指浏览器中运行的前端拥有与后端通信的 JavaScript 代码,而后端处于与前端不同的「源」的情况。 源 源是协议(http,https…
FastAPI教程 SQL(关系)数据库
FastAPI不要求您使用 SQL(关系)数据库。 但是您可以使用任何您想要的关系数据库。 在这里,我们将看到一个使用SQLAlchemy的示例。 您可以轻松地将其调整为 SQLA…
FastAPI教程 更大的应用 – 多个文件
如果你正在开发一个应用程序或 Web API,很少会将所有的内容都放在一个文件中。 FastAPI 提供了一个方便的工具,可以在保持所有灵活性的同时构建你的应用程序。 I…
FastAPI教程 后台任务
您可以定义在返回响应后运行的后台任务。 这对于需要在请求之后发生的操作很有用,但客户端实际上不必在接收响应之前等待操作完成。 这包括,例如: 执行操作后发送的电子邮件通知:由于连接…
FastAPI教程 静态文件
您可以使用StaticFiles. 用 StaticFiles 进口StaticFiles。 StaticFiles()在特定路径中“安装”一个实例。 from fast…
FastAPI教程 测试
感谢Starlette,测试FastAPI应用程序变得简单而愉快。 它基于Requests,因此非常熟悉和直观。 有了它,您可以直接将pytest与FastAPI一起使用。 使用&…
FastAPI教程 调试
你可以在编辑器中连接调试器,例如使用 Visual Studio Code 或 PyCharm。 调用 uvicorn 在你的 FastAPI 应用中直接导入 …
FastAPI教程 高级用户指南 – 简介
额外特性 主要的教程 教程 – 用户指南 应该足以让你了解 FastAPI 的所有主要特性。 你会在接下来的章节中了解到其他的选…
FastAPI教程 额外的状态码
FastAPI 默认使用 JSONResponse 返回一个响应,将你的 路径操作 中的返回内容放到该 JSONResp…
FastAPI教程 直接返回响应
当你创建一个 FastAPI 路径操作 时,你可以正常返回以下任意一种数据:dict,list,Pydantic 模型,数据库模型等等。 FastAP…