Browse Source

Give the ability to set any route class when adding a third-party router

pull/5273/head
ilyaTT 3 years ago
parent
commit
31f8757a1c
  1. 3
      fastapi/routing.py

3
fastapi/routing.py

@ -685,6 +685,7 @@ class APIRouter(routing.Router):
generate_unique_id_function: Callable[[APIRoute], str] = Default( generate_unique_id_function: Callable[[APIRoute], str] = Default(
generate_unique_id generate_unique_id
), ),
route_class_override: Optional[Type[APIRoute]] = None,
) -> None: ) -> None:
if prefix: if prefix:
assert prefix.startswith("/"), "A path prefix must start with '/'" assert prefix.startswith("/"), "A path prefix must start with '/'"
@ -756,7 +757,7 @@ class APIRouter(routing.Router):
and include_in_schema, and include_in_schema,
response_class=use_response_class, response_class=use_response_class,
name=route.name, name=route.name,
route_class_override=type(route), route_class_override=route_class_override or type(route),
callbacks=current_callbacks, callbacks=current_callbacks,
openapi_extra=route.openapi_extra, openapi_extra=route.openapi_extra,
generate_unique_id_function=current_generate_unique_id, generate_unique_id_function=current_generate_unique_id,

Loading…
Cancel
Save