Работал ли с синхронной или асинхронной версией FastAPI
Python
Senior
Без компании
Работал ли с синхронной или асинхронной версией FastAPI
Ответы
Да, работал с обеими версиями. FastAPI изначально поддерживает асинхронность через `async/await`, что позволяет эффективно обрабатывать I/O-операции (запросы к БД, API и т.д.). Синхронный код тоже работает, но может блокировать event loop при долгих операциях.
**Пример асинхронного эндпоинта:**
```
from fastapi import FastAPI
import httpx
app = FastAPI()
@app.get("/async-example")
async def fetch_data():
async with httpx.AsyncClient() as client:
response = await client.get("https://api.example.com/data")
return response.json()
```
**Синхронный вариант (если нет асинхронных зависимостей):**
```
@app.get("/sync-example")
def read_data():
return {"message": "Это синхронный запрос"}
```
**Важно:** Для CPU-bound задач в асинхронных эндпоинтах стоит использовать `BackgroundTasks` или выносить их в отдельные потоки через `asyncio.to_thread`.