Back to questions
Junior — Middle
62
Какие разновидности ответов могут быть возвращены из API, реализированного с помощью FastAPI?
Companies where asked
РЕСО-Лизинг
Answer from AI
sobes.tech AI
FastAPI позволяет возвращать из API различные виды ответов:
-
Стандартные объекты Python — словари, списки, модели Pydantic. FastAPI автоматически сериализует их в JSON.
-
Объекты Response — например,
JSONResponse,HTMLResponse,PlainTextResponseдля явного указания типа и содержимого ответа. -
Статусы HTTP — можно возвращать кортежи вида
(данные, статус_код), например(data, 201). -
Модели Pydantic — для валидации и сериализации данных.
-
Файлы — с помощью
FileResponseможно возвращать файлы. -
Исключения HTTPException — для возврата ошибок с кодом и сообщением.
Пример:
from fastapi import FastAPI, HTTPException
from fastapi.responses import JSONResponse
app = FastAPI()
@app.get("/items/{item_id}")
async def read_item(item_id: int):
if item_id == 0:
raise HTTPException(status_code=404, detail="Item not found")
return JSONResponse(content={"item_id": item_id, "name": "Item Name"}, status_code=200)
Таким образом, FastAPI гибко обрабатывает различные типы ответов, упрощая разработку API.