我有一个带有pydantic设置、实例读取和验证env变量的FastAPI应用程序:
### 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"
) 如果我想使用依赖项注入(用于测试目的以覆盖依赖项设置),如文档本节所示,如何进行:
settings.VERSION在FastAPI构造函数中?settings的引用吗?我是否应该将它们作为每个端点的依赖项(我认为是非常重复的代码)?或者去找一个中间件?参见这里非常类似的情况。发布于 2022-05-03 08:34:54
如果将settings.VERSION传递给FastAPI构造函数,则只更改应用程序版本,它不会更改API版本。要处理每个端点,您需要使用具有每个依赖项的路由器对具有相同依赖项的端点进行分组并形成该端点。您可以通过下面的图片查看我以前做过的事情。

在本例中,我使用APIRouter组成了一组路由器,并定义了一系列名为Dep的Deps。
https://stackoverflow.com/questions/71496730
复制相似问题