FastAPI中的依赖注入
1. 什么是依赖注入
一般来说,依赖注入是一个自动实例化对象及其依赖项的系统。开发者的职责只是声明对象应该如何创建,然后让系统解析所有依赖链并在运行时创建实际对象。
FastAPI允许你通过在路径操作函数参数中声明所需的对象和变量。实际上,我们在之前的例子中已经使用过依赖注入。以下是一个使用 Header 函数来获取 user-agent 头部信息的示例:
from fastapi import FastAPI, Header
app = FastAPI()
@app.get("/")
async def header(user_agent: str = Header(...)):
return {"user_agent": user_agent}
在内部, Header 函数有一些逻辑来自动获取请求对象,检查所需的头部信息,返回其值,如果不存在则抛出错误。从开发者的角度来看,我们不需要知道它是如何处理这些操作所需的对象的,我们只需要请求我们需要的值,这就是依赖注入。
依赖注入方法相比手动在函数体中获取值有以下优点:
- 意图清晰 :无需阅读函数代码,就能知道端点期望的请求数据。
- 关注点分离 :端点逻辑和通用逻辑(如头部检索和错误处理)分离,依赖函数自包含,可在其他端点轻松复用。
- 生成OpenAPI模式 <
超级会员免费看
订阅专栏 解锁全文
1404

被折叠的 条评论
为什么被折叠?



