6、深入探索 FastAPI 中的依赖注入

深入探索 FastAPI 中的依赖注入

1. 技术要求

本文以在线食谱系统为例,该系统用于管理、评估、评级和报告不同类型和来源的食谱。此项目将应用依赖注入(DI)模式,开发策略和方法会有相应变化,例如添加模型、存储库和服务文件夹。该软件面向美食爱好者、厨师、新手以及喜欢浏览不同菜单的客人。目前,该应用未使用任何数据库管理系统,所有数据暂时存储在 Python 容器中。代码可在 此处 查看。

2. 应用控制反转(IoC)/依赖注入(DI)

FastAPI 支持 IoC 原则,它有一个容器可为应用程序实例化对象。在传统编程中,我们手动实例化类来构建应用;而在 IoC 中,框架会为应用实例化组件。对于 FastAPI 而言,DI 不仅是一种原则,更是一种将对象集成到组件中的机制,有助于创建松耦合但高内聚的软件结构。几乎所有组件都可作为 DI 的候选对象,包括函数。下面我们主要关注可调用组件,即注入到 API 服务后能提供 JSON 对象的依赖函数。

3. 注入依赖函数

依赖函数是典型的 Python 函数,有类似路径操作或 API 服务的参数,返回值为 JSON 类型。例如,项目 /api/users.py 模块中的 create_login() 函数:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值