Junior — Middle
95
FastAPI'de bağımlılıkların nasıl iletildiğini ve bunun neden gerekli olduğunu açıklayabilir misiniz?
Sorulan şirketler
AI'dan gelen yanıt
sobes.tech yapay zeka
В 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 автоматически.