Skip to content

Интеграция с Tornado

Tornado — зрелый веб-фреймворк и асинхронная сетевая библиотека на Python.

FastOpenAPI поддерживает Tornado через TornadoRouter, позволяя добавлять документацию OpenAPI к приложениям на Tornado.

Установка

Установите FastOpenAPI:

pip install fastopenapi

или

pip install fastopenapi[tornado]

Hello World

import asyncio
from pydantic import BaseModel
from tornado.web import Application
from fastopenapi.routers import TornadoRouter

app = Application()
router = TornadoRouter(app=app)

class HelloResponse(BaseModel):
    message: str

@router.get("/hello", tags=["Hello"], response_model=HelloResponse)
def hello(name: str):
    """Say hello from Tornado"""
    return HelloResponse(message=f"Hello, {name}! It's Tornado!")

async def main():
    app.listen(8000)
    await asyncio.Event().wait()  # Постоянное ожидание

if __name__ == "__main__":
    asyncio.run(main())

Пример проекта

См. пример для этого фреймворка в директории examples/tornado/ репозитория.