Add support for custom route class (#468)

This commit is contained in:
dmontagu 2019-08-30 17:05:59 -07:00 committed by Sebastián Ramírez
parent 58dddc5e4f
commit c70f3f1198
1 changed files with 3 additions and 1 deletions

View File

@ -317,11 +317,13 @@ class APIRouter(routing.Router):
redirect_slashes: bool = True, redirect_slashes: bool = True,
default: ASGIApp = None, default: ASGIApp = None,
dependency_overrides_provider: Any = None, dependency_overrides_provider: Any = None,
route_class: Type[APIRoute] = APIRoute,
) -> None: ) -> None:
super().__init__( super().__init__(
routes=routes, redirect_slashes=redirect_slashes, default=default routes=routes, redirect_slashes=redirect_slashes, default=default
) )
self.dependency_overrides_provider = dependency_overrides_provider self.dependency_overrides_provider = dependency_overrides_provider
self.route_class = route_class
def add_api_route( def add_api_route(
self, self,
@ -347,7 +349,7 @@ class APIRouter(routing.Router):
response_class: Type[Response] = JSONResponse, response_class: Type[Response] = JSONResponse,
name: str = None, name: str = None,
) -> None: ) -> None:
route = APIRoute( route = self.route_class(
path, path,
endpoint=endpoint, endpoint=endpoint,
response_model=response_model, response_model=response_model,