40:from typing_extensions import deprecated
61:    def __init__(
88:            deprecated(
391:                async def read_items():
635:            deprecated(
637:                "openapi_prefix" has been deprecated in favor of "root_path", which
728:        deprecated: Annotated[
732:                Mark all *path operations* as deprecated. You probably don't need it,
934:                '"openapi_prefix" has been deprecated in favor of "root_path", which '
986:        self.router: routing.APIRouter = routing.APIRouter(
996:            deprecated=deprecated,
1021:    def build_middleware_stack(self) -> ASGIApp:
1064:        app = self.router
1069:    def openapi(self) -> dict[str, Any]:
1102:    def setup(self) -> None:
1105:            async def openapi(req: Request) -> JSONResponse:
1120:            async def swagger_ui_html(req: Request) -> HTMLResponse:
1138:                async def swagger_ui_redirect(req: Request) -> HTMLResponse:
1148:            async def redoc_html(req: Request) -> HTMLResponse:
1157:    async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
1162:    def add_api_route(
1175:        deprecated: bool | None = None,
1192:        self.router.add_api_route(
1203:            deprecated=deprecated,
1219:    def api_route(
1231:        deprecated: bool | None = None,
1248:        def decorator(func: DecoratedCallable) -> DecoratedCallable:
1249:            self.router.add_api_route(
1260:                deprecated=deprecated,
1279:    def add_api_websocket_route(
1287:        self.router.add_api_websocket_route(
1294:    def websocket(
1340:        async def websocket_endpoint(websocket: WebSocket):
1348:        def decorator(func: DecoratedCallable) -> DecoratedCallable:
1359:    def include_router(
1422:        deprecated: Annotated[
1426:                Mark all the *path operations* in this router as deprecated.
1441:                    deprecated=True,
1551:        self.router.include_router(
1557:            deprecated=deprecated,
1564:    def get(
1700:        deprecated: Annotated[
1704:                Mark this *path operation* as deprecated.
1907:        def read_items():
1911:        return self.router.get(
1921:            deprecated=deprecated,
1937:    def put(
2073:        deprecated: Annotated[
2077:                Mark this *path operation* as deprecated.
2285:        def replace_item(item_id: str, item: Item):
2289:        return self.router.put(
2299:            deprecated=deprecated,
2315:    def post(
2451:        deprecated: Annotated[
2455:                Mark this *path operation* as deprecated.
2663:        def create_item(item: Item):
2667:        return self.router.post(
2677:            deprecated=deprecated,
2693:    def delete(
2829:        deprecated: Annotated[
2833:                Mark this *path operation* as deprecated.
3036:        def delete_item(item_id: str):
3040:        return self.router.delete(
3050:            deprecated=deprecated,
3066:    def options(
3202:        deprecated: Annotated[
3206:                Mark this *path operation* as deprecated.
3409:        def get_item_options():
3413:        return self.router.options(
3423:            deprecated=deprecated,
3439:    def head(
3575:        deprecated: Annotated[
3579:                Mark this *path operation* as deprecated.
3782:        def get_items_headers(response: Response):
3786:        return self.router.head(
3796:            deprecated=deprecated,
3812:    def patch(
3948:        deprecated: Annotated[
3952:                Mark this *path operation* as deprecated.
4160:        def update_item(item: Item):
