以下是 `APIRoute` 的紧张浸染和一个大略的用例:
浸染:1. 自定义路由行为:`APIRoute` 许可你自定义路由的行为,包括在要求处理之前和之后实行的代码。这为你供应了更多的灵巧性,以适应不同的需求。2. 利用装饰器:`APIRoute` 使得你可以利用装饰器来扩展和定制路由的功能,而不仅仅是处理要乞降返回相应。用例:from fastapi import FastAPI, APIRouter, Depends, HTTPExceptionfrom fastapi.routing import APIRoutefrom starlette.requests import Requestapp = FastAPI()# 创建一个自定义的 APIRoute 类class CustomAPIRoute(APIRoute):def get_route_handler(self):original_route_handler = super().get_route_handler()async def custom_route_handler(request: Request, args, kwargs):# 在要求处理之前实行的代码print(f"Executing custom code before handling the request for route: {request.url.path}")# 调用原始的路由处理函数response = await original_route_handler(request, args, kwargs)# 在要求处理之后实行的代码print(f"Executing custom code after handling the request for route: {request.url.path}")return responsereturn custom_route_handler# 利用自定义的 APIRoute 创建 APIRoutercustom_router = APIRouter(route_class=CustomAPIRoute)@custom_router.get("/items/")async def read_item():return {"message": "Hello, Custom Router!"}# 将自定义的 APIRouter 添加到主运用app.include_router(custom_router)
在上述示例中,我们创建了一个自定义的 `APIRoute` 类 `CustomAPIRoute`,并覆盖了个中的 `get_route_handler` 方法。
在 `custom_route_handler` 函数中,我们添加了在要求处理之前和之后实行的自定义代码。然后,我们利用这个自定义的 `APIRoute` 创建了一个 `APIRouter`,并将其包含到主运用中。

当你要求 `/items/` 路由时,将会看到输出中包含了自定义的代码实行信息。这显示了通过利用 `APIRoute` 可以在路由处理过程中注入自定义的行为。
请把稳,这只是一个大略的示例,实际运用中你可以根据须要进行更繁芜的自定义。在实际项目中,利用 `APIRoute` 可以帮助你更好地组织和定制你的 API 路由。