python-dependency-injector/examples/miniapps/fastapi-redis/fastapiredis/application.py

26 lines
591 B
Python
Raw Normal View History

2021-01-04 06:15:27 +03:00
"""Application module."""
import sys
from fastapi import FastAPI, Depends
from dependency_injector.wiring import inject, Provide
from .containers import Container
from .services import Service
app = FastAPI()
@app.api_route('/')
@inject
async def index(service: Service = Depends(Provide[Container.service])):
value = await service.process()
return {'result': value}
container = Container()
container.config.redis_host.from_env('REDIS_HOST', 'localhost')
container.config.redis_password.from_env('REDIS_PASSWORD', 'password')
container.wire(modules=[sys.modules[__name__]])