Назад к вопросам
30бит
Junior — Middle
62
Можете объяснить, как осуществляется передача зависимостей в FastAPI и зачем это нужно?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В FastAPI передача зависимостей реализуется через механизм Dependency Injection с помощью функции Depends. Это позволяет автоматически получать нужные объекты или данные в обработчиках запросов без явного создания или передачи их вручную.
Зачем это нужно:
- Упрощает тестирование, так как зависимости можно легко заменять.
- Повышает читаемость и повторное использование кода.
- Позволяет централизованно управлять ресурсами, например, подключениями к базе данных.
Пример:
from fastapi import FastAPI, Depends
def get_db():
db = connect_to_db()
try:
yield db
finally:
db.close()
app = FastAPI()
@app.get("/items/")
def read_items(db=Depends(get_db)):
return db.query_items()
Здесь get_db — зависимость, которая передается в обработчик read_items автоматически.