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 函数有一些逻辑来自动获取请求对象,检查所需的头部信息,返回其值,如果不存在则抛出错误。从开发者的角度来看,我们不需要知道它是如何处理这个操作所需的对象的,我们只需要请求我们需要的值,这就是依赖注入。
与在函数体中手动从请求对象的头部字典中提取 user - agent 属性相比,依赖注入方法有很多优点:
- 意图清晰 :无需阅读函数代码,你就知道端点在请求数据中期望什么。
- 关注点分离 :端点逻辑和更通用的逻辑之间有清晰
超级会员免费看
订阅专栏 解锁全文
1404

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



