深入探索 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
超级会员免费看
订阅专栏 解锁全文
1355

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



