Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
6
Оптимизация и рефакторинг FastAPI‑сервиса
Условие задачи
Выполните рефакторинг представленного FastAPI‑кода, выявив и исправив потенциальные проблемные места. Приложение реализует эндпоинт для получения списка лайков, делая внешний HTTP‑запрос.
from uuid import UUID
from fastapi import FastAPI, HTTPException
from pydantic import BaseModel
import requests
app = FastAPI()
class Like(BaseModel):
id: UUID
publication_id: UUID
def fetch_likes(size: int, offset: int, extra_params: dict = {}):
response = requests.get('http://example.com/slow-request', params={'size': size, 'offset': offset, **extra_params})
if response.status_code == 200:
return response.json()
else:
raise HTTPException(status_code=response.status_code, detail="Failed to fetch data")
@app.post("/get-likes-list")
async def get_likes_list(size: int, offset: int):
return fetch_likes(size, offset)
``