首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FastApi设置/依赖关系

FastApi设置/依赖关系
EN

Stack Overflow用户
提问于 2022-03-16 12:00:19
回答 1查看 380关注 0票数 0

我有一个带有pydantic设置、实例读取和验证env变量的FastAPI应用程序:

代码语言:javascript
复制
### config.py
from pydantic import BaseSettings
class Settings(BaseSettings):
    VERSION: str
    OPENAPI_PREFIX: str
settings = Settings()

### main.py
from fastapi import FastApi
from .config import settings
app = FastAPI(
    title='projectX',
    description="my description",
    version=settings.VERSION,
    root_path=settings.OPENAPI_PREFIX,
    openapi_url="/openapi.json",
    prefix="/api"
) 

如果我想使用依赖项注入(用于测试目的以覆盖依赖项设置),如文档本节所示,如何进行:

  1. settings.VERSION在FastAPI构造函数中?
  2. 在端点视图函数之外,还有其他对settings的引用吗?我是否应该将它们作为每个端点的依赖项(我认为是非常重复的代码)?或者去找一个中间件?参见这里非常类似的情况。
EN

回答 1

Stack Overflow用户

发布于 2022-05-03 08:34:54

如果将settings.VERSION传递给FastAPI构造函数,则只更改应用程序版本,它不会更改API版本。要处理每个端点,您需要使用具有每个依赖项的路由器对具有相同依赖项的端点进行分组并形成该端点。您可以通过下面的图片查看我以前做过的事情。

在本例中,我使用APIRouter组成了一组路由器,并定义了一系列名为Dep的Deps。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71496730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档