11、FastAPI中的依赖注入

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模式 <

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值