TestFastApi/main.py

42 lines
1008 B
Python

from contextlib import asynccontextmanager
import uvicorn
from fastapi import FastAPI
from pydantic import EmailStr, BaseModel
from items_views import router as items_router
from users.views import router as users_router
from api_v1 import router as api_v1_router
from core.config import settings
@asynccontextmanager
async def lifespan(app: FastAPI):
# заготовка под добавление каких-то действий после запуска приложения.
yield
app = FastAPI(lifespan=lifespan)
app.include_router(router=items_router, tags=["items"])
app.include_router(router=users_router, tags=["users"])
app.include_router(router=api_v1_router, tags=["api_v1"], prefix=settings.api_v1_prefix)
@app.get("/")
def hello_index():
return {"message": "hello index"}
@app.get("/hello")
def hello(name: str = "World"):
name = name.strip().title()
return {"message": f"Hello {name}"}
if __name__ == "__main__":
uvicorn.run("main:app", reload=True)