42 lines
1008 B
Python
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)
|