Sobes.tech
Junior — Middle
72

Можешь привести пример, когда и как используется директива Depends в практике разработки?

Ответ от нейросети

sobes.tech AI

В Python, особенно в фреймворках типа FastAPI, директива Depends используется для внедрения зависимостей в функции или маршруты.

Пример: допустим, у вас есть функция, которая получает текущего пользователя из токена авторизации, и вы хотите использовать её в разных эндпоинтах.

from fastapi import Depends, FastAPI, HTTPException

app = FastAPI()

def get_current_user(token: str):
    if token != "secret-token":
        raise HTTPException(status_code=401, detail="Invalid token")
    return "user123"

@app.get("/items/")
def read_items(current_user: str = Depends(get_current_user)):
    return {"user": current_user, "items": ["item1", "item2"]}

Здесь Depends(get_current_user) автоматически вызывает функцию get_current_user и передаёт результат в параметр current_user. Это упрощает повторное использование логики и управление зависимостями.