Back to questions
Junior — Middle
63
Каким образом реализуется внедрение зависимостей в FastAPI и как оно используется?
Companies where asked
Медси
Answer from AI
sobes.tech AI
В FastAPI внедрение зависимостей реализуется с помощью функции Depends. Это позволяет автоматически передавать необходимые объекты или данные в обработчики запросов (эндпоинты) без явного создания их внутри функции.
Пример использования:
from fastapi import FastAPI, Depends
app = FastAPI()
def common_parameters(q: str = None, limit: int = 10):
return {"q": q, "limit": limit}
@app.get("/items/")
async def read_items(commons: dict = Depends(common_parameters)):
return commons
Здесь common_parameters — функция-зависимость, которая принимает параметры запроса и возвращает словарь. В эндпоинте read_items она подключается через Depends, и FastAPI автоматически вызывает эту функцию и передаёт результат в параметр commons.
Таким образом, внедрение зависимостей помогает:
- Избежать дублирования кода
- Упростить тестирование
- Централизовать логику получения данных или сервисов
Можно внедрять базы данных, сервисы, настройки и многое другое, используя Depends.