Back to questions
Junior — Middle
55
Какие преимущества использования Depends для внедрения зависимостей в FastAPI?
Companies where asked
ИнфоТехСервис
Answer from AI
sobes.tech AI
В FastAPI Depends используется для внедрения зависимостей, что даёт несколько преимуществ:
- Повторное использование кода: можно определить общие зависимости (например, подключение к базе данных, проверку авторизации) и использовать их в разных эндпоинтах.
- Чистота и читаемость кода: зависимости явно указаны в параметрах функций, что облегчает понимание и поддержку.
- Автоматическое управление жизненным циклом: FastAPI автоматически создаёт и уничтожает объекты зависимостей, если они определены как генераторы.
- Интеграция с системой типизации Python: позволяет использовать автодополнение и проверку типов.
Пример использования:
from fastapi import Depends, FastAPI
def get_token_header(token: str):
if token != "secret-token":
raise HTTPException(status_code=400, detail="Invalid Token")
app = FastAPI()
@app.get("/items/")
async def read_items(token: str = Depends(get_token_header)):
return [{"item": "Foo"}]