Интеграция с Starlette
Starlette — это лёгкий ASGI-фреймворк, на базе которого построен сам FastAPI.
StarletteRouter
от FastOpenAPI позволяет использовать FastOpenAPI напрямую в приложениях Starlette.
Установка
Установите FastOpenAPI:
pip install fastopenapi
или
pip install fastopenapi[starlette]
Hello World
import uvicorn
from pydantic import BaseModel
from starlette.applications import Starlette
from fastopenapi.routers import StarletteRouter
app = Starlette()
router = StarletteRouter(app=app)
class HelloResponse(BaseModel):
message: str
@router.get("/hello", tags=["Hello"], response_model=HelloResponse)
async def hello(name: str):
"""Say hello from Starlette"""
return HelloResponse(message=f"Hello, {name}! It's Starlette!")
if __name__ == "__main__":
uvicorn.run(app, host="127.0.0.1", port=8000)
Пример проекта
См. пример для этого фреймворка в директории examples/starlette/
репозитория.