test-docker / main.py
ZakharZokhar's picture
Update main.py
d32fe66 verified
raw
history blame
No virus
1.08 kB
from fastapi import FastAPI, HTTPException, Body, Request, File, UploadFile
from pydantic import BaseModel
from fastapi.responses import JSONResponse
from fastapi.templating import Jinja2Templates
app = FastAPI()
# Определяем модель данных для запроса
class TextRequest(BaseModel):
text: str
# Подключаем шаблоны Jinja2
templates = Jinja2Templates(directory="templates")
# Главная страница с текстом "server is running"
@app.get("/")
async def read_root(request: Request):
return templates.TemplateResponse("index.html", {"request": request, "text": "server is running"})
# Определяем единственный POST endpoint
@app.post("/echo")
def echo_text(text_request: TextRequest):
# Просто возвращаем поле text из запроса
return {"echoed_text": text_request.text}
# Endpoint для загрузки файла
@app.post("/upload")
async def upload_file(file: UploadFile = File(...)):
return JSONResponse(content={"filename": file.filename})