Browse Source

Add args/kwargs to get route

pull/11050/head
Alexey Kotenko 1 year ago
parent
commit
54bee71f74
  1. 5
      fastapi/applications.py
  2. 14
      fastapi/routing.py

5
fastapi/applications.py

@ -1469,7 +1469,6 @@ class FastAPI(Starlette):
""" """
), ),
], ],
*,
response_model: Annotated[ response_model: Annotated[
Any, Any,
Doc( Doc(
@ -1788,6 +1787,8 @@ class FastAPI(Starlette):
""" """
), ),
] = Default(generate_unique_id), ] = Default(generate_unique_id),
*args: Any,
**kwargs: Any
) -> Callable[[DecoratedCallable], DecoratedCallable]: ) -> Callable[[DecoratedCallable], DecoratedCallable]:
""" """
Add a *path operation* using an HTTP GET operation. Add a *path operation* using an HTTP GET operation.
@ -1828,6 +1829,8 @@ class FastAPI(Starlette):
callbacks=callbacks, callbacks=callbacks,
openapi_extra=openapi_extra, openapi_extra=openapi_extra,
generate_unique_id_function=generate_unique_id_function, generate_unique_id_function=generate_unique_id_function,
*args,
**kwargs
) )
def put( def put(

14
fastapi/routing.py

@ -403,7 +403,6 @@ class APIRoute(routing.Route):
self, self,
path: str, path: str,
endpoint: Callable[..., Any], endpoint: Callable[..., Any],
*,
response_model: Any = Default(None), response_model: Any = Default(None),
status_code: Optional[int] = None, status_code: Optional[int] = None,
tags: Optional[List[Union[str, Enum]]] = None, tags: Optional[List[Union[str, Enum]]] = None,
@ -432,6 +431,8 @@ class APIRoute(routing.Route):
generate_unique_id_function: Union[ generate_unique_id_function: Union[
Callable[["APIRoute"], str], DefaultPlaceholder Callable[["APIRoute"], str], DefaultPlaceholder
] = Default(generate_unique_id), ] = Default(generate_unique_id),
*args: Any,
**kwargs: Any,
) -> None: ) -> None:
self.path = path self.path = path
self.endpoint = endpoint self.endpoint = endpoint
@ -844,7 +845,6 @@ class APIRouter(routing.Router):
self, self,
path: str, path: str,
endpoint: Callable[..., Any], endpoint: Callable[..., Any],
*,
response_model: Any = Default(None), response_model: Any = Default(None),
status_code: Optional[int] = None, status_code: Optional[int] = None,
tags: Optional[List[Union[str, Enum]]] = None, tags: Optional[List[Union[str, Enum]]] = None,
@ -873,6 +873,8 @@ class APIRouter(routing.Router):
generate_unique_id_function: Union[ generate_unique_id_function: Union[
Callable[[APIRoute], str], DefaultPlaceholder Callable[[APIRoute], str], DefaultPlaceholder
] = Default(generate_unique_id), ] = Default(generate_unique_id),
*args: Any,
**kwargs: Any,
) -> None: ) -> None:
route_class = route_class_override or self.route_class route_class = route_class_override or self.route_class
responses = responses or {} responses = responses or {}
@ -919,13 +921,14 @@ class APIRouter(routing.Router):
callbacks=current_callbacks, callbacks=current_callbacks,
openapi_extra=openapi_extra, openapi_extra=openapi_extra,
generate_unique_id_function=current_generate_unique_id, generate_unique_id_function=current_generate_unique_id,
*args,
**kwargs
) )
self.routes.append(route) self.routes.append(route)
def api_route( def api_route(
self, self,
path: str, path: str,
*,
response_model: Any = Default(None), response_model: Any = Default(None),
status_code: Optional[int] = None, status_code: Optional[int] = None,
tags: Optional[List[Union[str, Enum]]] = None, tags: Optional[List[Union[str, Enum]]] = None,
@ -951,6 +954,8 @@ 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
), ),
*args: Any,
**kwargs: Any,
) -> Callable[[DecoratedCallable], DecoratedCallable]: ) -> Callable[[DecoratedCallable], DecoratedCallable]:
def decorator(func: DecoratedCallable) -> DecoratedCallable: def decorator(func: DecoratedCallable) -> DecoratedCallable:
self.add_api_route( self.add_api_route(
@ -1333,7 +1338,6 @@ class APIRouter(routing.Router):
""" """
), ),
], ],
*,
response_model: Annotated[ response_model: Annotated[
Any, Any,
Doc( Doc(
@ -1652,6 +1656,8 @@ class APIRouter(routing.Router):
""" """
), ),
] = Default(generate_unique_id), ] = Default(generate_unique_id),
*args: Any,
**kwargs: Any,
) -> Callable[[DecoratedCallable], DecoratedCallable]: ) -> Callable[[DecoratedCallable], DecoratedCallable]:
""" """
Add a *path operation* using an HTTP GET operation. Add a *path operation* using an HTTP GET operation.

Loading…
Cancel
Save