콘텐츠로 이동

spakky-fastapi

FastAPI 통합 — 라우트 데코레이터, 자동 엔드포인트 등록

Routes

spakky.plugins.fastapi.routes.route

Base route decorator and configuration for FastAPI endpoints.

Provides the core @route decorator and Route annotation class that can be used to mark controller methods as API endpoints with full FastAPI configuration.

HTTPMethod

Bases: str, Enum

HTTP methods supported by FastAPI routes.

__repr__()

Return the method value for display.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/route.py
def __repr__(self) -> str:
    """Return the method value for display."""
    return self.value

Route(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, methods=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None) dataclass

Bases: FunctionAnnotation

Function annotation for marking methods as API routes.

Stores all FastAPI route configuration including path, HTTP methods, response models, and OpenAPI documentation settings.

Attributes:

Name Type Description
path str

The URL path for this route.

response_model type[Any] | None

Pydantic model for response serialization.

status_code int | None

HTTP status code for successful responses.

tags list[str] | None

OpenAPI tags for grouping endpoints.

dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

summary str | None

Short summary for OpenAPI documentation.

description str | None

Detailed description for OpenAPI documentation.

response_description str

Description of successful response.

responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

deprecated bool | None

Whether this endpoint is deprecated.

methods set[HTTPMethod] | list[HTTPMethod] | None

HTTP methods this route handles.

operation_id str | None

Custom OpenAPI operation ID.

response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

response_model_by_alias bool

Use field aliases in response.

response_model_exclude_unset bool

Exclude unset fields from response.

response_model_exclude_defaults bool

Exclude fields with default values.

response_model_exclude_none bool

Exclude None values from response.

include_in_schema bool

Include in OpenAPI schema.

response_class type[Response]

FastAPI response class to use.

name str | None

Display name for the route.

route_class_override type[APIRoute] | None

Custom APIRoute class.

callbacks list[Route] | None

OpenAPI callbacks configuration.

openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

route(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, methods=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None)

Decorator to mark a controller method as an API route.

Attaches route configuration to the method which will be registered by the RegisterRoutesPostProcessor during container initialization.

Parameters:

Name Type Description Default
path str

The URL path for this route.

required
response_model type[Any] | None

Pydantic model for response serialization.

None
status_code int | None

HTTP status code for successful responses.

None
tags list[str] | None

OpenAPI tags for grouping endpoints.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None
summary str | None

Short summary for OpenAPI documentation.

None
description str | None

Detailed description for OpenAPI documentation.

None
response_description str

Description of successful response.

'Successful Response'
responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

None
deprecated bool | None

Whether this endpoint is deprecated.

None
methods set[HTTPMethod] | list[HTTPMethod] | None

HTTP methods this route handles.

None
operation_id str | None

Custom OpenAPI operation ID.

None
response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

None
response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

None
response_model_by_alias bool

Use field aliases in response.

True
response_model_exclude_unset bool

Exclude unset fields from response.

False
response_model_exclude_defaults bool

Exclude fields with default values.

False
response_model_exclude_none bool

Exclude None values from response.

False
include_in_schema bool

Include in OpenAPI schema.

True
response_class type[Response]

FastAPI response class to use.

JSONResponse
name str | None

Display name for the route.

None
route_class_override type[APIRoute] | None

Custom APIRoute class.

None
callbacks list[Route] | None

OpenAPI callbacks configuration.

None
openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that attaches the route configuration.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/route.py
def route(
    path: str,
    response_model: type[Any] | None = None,
    status_code: int | None = None,
    tags: list[str] | None = None,
    dependencies: Sequence[params.Depends] | None = None,
    summary: str | None = None,
    description: str | None = None,
    response_description: str = "Successful Response",
    responses: dict[int | str, dict[str, Any]] | None = None,
    deprecated: bool | None = None,
    methods: set[HTTPMethod] | list[HTTPMethod] | None = None,
    operation_id: str | None = None,
    response_model_include: SetIntStr | DictIntStrAny | None = None,
    response_model_exclude: SetIntStr | DictIntStrAny | None = None,
    response_model_by_alias: bool = True,
    response_model_exclude_unset: bool = False,
    response_model_exclude_defaults: bool = False,
    response_model_exclude_none: bool = False,
    include_in_schema: bool = True,
    response_class: type[Response] = JSONResponse,
    name: str | None = None,
    route_class_override: type[APIRoute] | None = None,
    callbacks: list[StarletteRoute] | None = None,
    openapi_extra: dict[str, Any] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as an API route.

    Attaches route configuration to the method which will be registered by
    the RegisterRoutesPostProcessor during container initialization.

    Args:
        path: The URL path for this route.
        response_model: Pydantic model for response serialization.
        status_code: HTTP status code for successful responses.
        tags: OpenAPI tags for grouping endpoints.
        dependencies: FastAPI dependencies to inject.
        summary: Short summary for OpenAPI documentation.
        description: Detailed description for OpenAPI documentation.
        response_description: Description of successful response.
        responses: Additional response schemas for OpenAPI.
        deprecated: Whether this endpoint is deprecated.
        methods: HTTP methods this route handles.
        operation_id: Custom OpenAPI operation ID.
        response_model_include: Fields to include in response model.
        response_model_exclude: Fields to exclude from response model.
        response_model_by_alias: Use field aliases in response.
        response_model_exclude_unset: Exclude unset fields from response.
        response_model_exclude_defaults: Exclude fields with default values.
        response_model_exclude_none: Exclude None values from response.
        include_in_schema: Include in OpenAPI schema.
        response_class: FastAPI response class to use.
        name: Display name for the route.
        route_class_override: Custom APIRoute class.
        callbacks: OpenAPI callbacks configuration.
        openapi_extra: Additional OpenAPI schema data.

    Returns:
        A decorator function that attaches the route configuration.
    """

    def wrapper(method: Callable[..., AnyT]) -> Callable[..., AnyT]:
        return Route(
            path=path,
            response_model=response_model,
            status_code=status_code,
            tags=tags,
            dependencies=dependencies,
            summary=summary,
            description=description,
            response_description=response_description,
            responses=responses,
            deprecated=deprecated,
            methods=methods,
            operation_id=operation_id,
            response_model_include=response_model_include,
            response_model_exclude=response_model_exclude,
            response_model_by_alias=response_model_by_alias,
            response_model_exclude_unset=response_model_exclude_unset,
            response_model_exclude_defaults=response_model_exclude_defaults,
            response_model_exclude_none=response_model_exclude_none,
            include_in_schema=include_in_schema,
            response_class=response_class,
            name=name,
            route_class_override=route_class_override,
            callbacks=callbacks,
            openapi_extra=openapi_extra,
        )(method)

    return wrapper

options: show_root_heading: false

spakky.plugins.fastapi.routes.get

GET route decorator for FastAPI controllers.

Provides a convenience decorator for marking controller methods as HTTP GET endpoints with full FastAPI configuration support.

get(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None)

Decorator to mark a controller method as an HTTP GET endpoint.

Convenience wrapper around @route that automatically sets the HTTP method to GET. Supports all FastAPI route configuration options.

Parameters:

Name Type Description Default
path str

The URL path for this route.

required
response_model type[Any] | None

Pydantic model for response serialization.

None
status_code int | None

HTTP status code for successful responses.

None
tags list[str] | None

OpenAPI tags for grouping endpoints.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None
summary str | None

Short summary for OpenAPI documentation.

None
description str | None

Detailed description for OpenAPI documentation.

None
response_description str

Description of successful response.

'Successful Response'
responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

None
deprecated bool | None

Whether this endpoint is deprecated.

None
operation_id str | None

Custom OpenAPI operation ID.

None
response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

None
response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

None
response_model_by_alias bool

Use field aliases in response.

True
response_model_exclude_unset bool

Exclude unset fields from response.

False
response_model_exclude_defaults bool

Exclude fields with default values.

False
response_model_exclude_none bool

Exclude None values from response.

False
include_in_schema bool

Include in OpenAPI schema.

True
response_class type[Response]

FastAPI response class to use.

JSONResponse
name str | None

Display name for the route.

None
route_class_override type[APIRoute] | None

Custom APIRoute class.

None
callbacks list[Route] | None

OpenAPI callbacks configuration.

None
openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that marks the method as a GET endpoint.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/get.py
def get(
    path: str,
    response_model: type[Any] | None = None,
    status_code: int | None = None,
    tags: list[str] | None = None,
    dependencies: Sequence[params.Depends] | None = None,
    summary: str | None = None,
    description: str | None = None,
    response_description: str = "Successful Response",
    responses: dict[int | str, dict[str, Any]] | None = None,
    deprecated: bool | None = None,
    operation_id: str | None = None,
    response_model_include: SetIntStr | DictIntStrAny | None = None,
    response_model_exclude: SetIntStr | DictIntStrAny | None = None,
    response_model_by_alias: bool = True,
    response_model_exclude_unset: bool = False,
    response_model_exclude_defaults: bool = False,
    response_model_exclude_none: bool = False,
    include_in_schema: bool = True,
    response_class: type[Response] = JSONResponse,
    name: str | None = None,
    route_class_override: type[APIRoute] | None = None,
    callbacks: list[StarletteRoute] | None = None,
    openapi_extra: dict[str, Any] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as an HTTP GET endpoint.

    Convenience wrapper around @route that automatically sets the HTTP method
    to GET. Supports all FastAPI route configuration options.

    Args:
        path: The URL path for this route.
        response_model: Pydantic model for response serialization.
        status_code: HTTP status code for successful responses.
        tags: OpenAPI tags for grouping endpoints.
        dependencies: FastAPI dependencies to inject.
        summary: Short summary for OpenAPI documentation.
        description: Detailed description for OpenAPI documentation.
        response_description: Description of successful response.
        responses: Additional response schemas for OpenAPI.
        deprecated: Whether this endpoint is deprecated.
        operation_id: Custom OpenAPI operation ID.
        response_model_include: Fields to include in response model.
        response_model_exclude: Fields to exclude from response model.
        response_model_by_alias: Use field aliases in response.
        response_model_exclude_unset: Exclude unset fields from response.
        response_model_exclude_defaults: Exclude fields with default values.
        response_model_exclude_none: Exclude None values from response.
        include_in_schema: Include in OpenAPI schema.
        response_class: FastAPI response class to use.
        name: Display name for the route.
        route_class_override: Custom APIRoute class.
        callbacks: OpenAPI callbacks configuration.
        openapi_extra: Additional OpenAPI schema data.

    Returns:
        A decorator function that marks the method as a GET endpoint.
    """
    return route(
        path=path,
        methods=[HTTPMethod.GET],
        response_model=response_model,
        status_code=status_code,
        tags=tags,
        dependencies=dependencies,
        summary=summary,
        description=description,
        response_description=response_description,
        responses=responses,
        deprecated=deprecated,
        operation_id=operation_id,
        response_model_include=response_model_include,
        response_model_exclude=response_model_exclude,
        response_model_by_alias=response_model_by_alias,
        response_model_exclude_unset=response_model_exclude_unset,
        response_model_exclude_defaults=response_model_exclude_defaults,
        response_model_exclude_none=response_model_exclude_none,
        include_in_schema=include_in_schema,
        response_class=response_class,
        name=name,
        route_class_override=route_class_override,
        callbacks=callbacks,
        openapi_extra=openapi_extra,
    )

options: show_root_heading: false

spakky.plugins.fastapi.routes.post

POST route decorator for FastAPI controllers.

Provides a convenience decorator for marking controller methods as HTTP POST endpoints with full FastAPI configuration support.

post(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None)

Decorator to mark a controller method as an HTTP POST endpoint.

Convenience wrapper around @route that automatically sets the HTTP method to POST. Supports all FastAPI route configuration options.

Parameters:

Name Type Description Default
path str

The URL path for this route.

required
response_model type[Any] | None

Pydantic model for response serialization.

None
status_code int | None

HTTP status code for successful responses.

None
tags list[str] | None

OpenAPI tags for grouping endpoints.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None
summary str | None

Short summary for OpenAPI documentation.

None
description str | None

Detailed description for OpenAPI documentation.

None
response_description str

Description of successful response.

'Successful Response'
responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

None
deprecated bool | None

Whether this endpoint is deprecated.

None
operation_id str | None

Custom OpenAPI operation ID.

None
response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

None
response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

None
response_model_by_alias bool

Use field aliases in response.

True
response_model_exclude_unset bool

Exclude unset fields from response.

False
response_model_exclude_defaults bool

Exclude fields with default values.

False
response_model_exclude_none bool

Exclude None values from response.

False
include_in_schema bool

Include in OpenAPI schema.

True
response_class type[Response]

FastAPI response class to use.

JSONResponse
name str | None

Display name for the route.

None
route_class_override type[APIRoute] | None

Custom APIRoute class.

None
callbacks list[Route] | None

OpenAPI callbacks configuration.

None
openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that marks the method as a POST endpoint.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/post.py
def post(
    path: str,
    response_model: type[Any] | None = None,
    status_code: int | None = None,
    tags: list[str] | None = None,
    dependencies: Sequence[params.Depends] | None = None,
    summary: str | None = None,
    description: str | None = None,
    response_description: str = "Successful Response",
    responses: dict[int | str, dict[str, Any]] | None = None,
    deprecated: bool | None = None,
    operation_id: str | None = None,
    response_model_include: SetIntStr | DictIntStrAny | None = None,
    response_model_exclude: SetIntStr | DictIntStrAny | None = None,
    response_model_by_alias: bool = True,
    response_model_exclude_unset: bool = False,
    response_model_exclude_defaults: bool = False,
    response_model_exclude_none: bool = False,
    include_in_schema: bool = True,
    response_class: type[Response] = JSONResponse,
    name: str | None = None,
    route_class_override: type[APIRoute] | None = None,
    callbacks: list[StarletteRoute] | None = None,
    openapi_extra: dict[str, Any] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as an HTTP POST endpoint.

    Convenience wrapper around @route that automatically sets the HTTP method
    to POST. Supports all FastAPI route configuration options.

    Args:
        path: The URL path for this route.
        response_model: Pydantic model for response serialization.
        status_code: HTTP status code for successful responses.
        tags: OpenAPI tags for grouping endpoints.
        dependencies: FastAPI dependencies to inject.
        summary: Short summary for OpenAPI documentation.
        description: Detailed description for OpenAPI documentation.
        response_description: Description of successful response.
        responses: Additional response schemas for OpenAPI.
        deprecated: Whether this endpoint is deprecated.
        operation_id: Custom OpenAPI operation ID.
        response_model_include: Fields to include in response model.
        response_model_exclude: Fields to exclude from response model.
        response_model_by_alias: Use field aliases in response.
        response_model_exclude_unset: Exclude unset fields from response.
        response_model_exclude_defaults: Exclude fields with default values.
        response_model_exclude_none: Exclude None values from response.
        include_in_schema: Include in OpenAPI schema.
        response_class: FastAPI response class to use.
        name: Display name for the route.
        route_class_override: Custom APIRoute class.
        callbacks: OpenAPI callbacks configuration.
        openapi_extra: Additional OpenAPI schema data.

    Returns:
        A decorator function that marks the method as a POST endpoint.
    """
    return route(
        path=path,
        methods=[HTTPMethod.POST],
        response_model=response_model,
        status_code=status_code,
        tags=tags,
        dependencies=dependencies,
        summary=summary,
        description=description,
        response_description=response_description,
        responses=responses,
        deprecated=deprecated,
        operation_id=operation_id,
        response_model_include=response_model_include,
        response_model_exclude=response_model_exclude,
        response_model_by_alias=response_model_by_alias,
        response_model_exclude_unset=response_model_exclude_unset,
        response_model_exclude_defaults=response_model_exclude_defaults,
        response_model_exclude_none=response_model_exclude_none,
        include_in_schema=include_in_schema,
        response_class=response_class,
        name=name,
        route_class_override=route_class_override,
        callbacks=callbacks,
        openapi_extra=openapi_extra,
    )

options: show_root_heading: false

spakky.plugins.fastapi.routes.put

PUT route decorator for FastAPI controllers.

Provides a convenience decorator for marking controller methods as HTTP PUT endpoints with full FastAPI configuration support.

put(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None)

Decorator to mark a controller method as an HTTP PUT endpoint.

Convenience wrapper around @route that automatically sets the HTTP method to PUT. Supports all FastAPI route configuration options.

Parameters:

Name Type Description Default
path str

The URL path for this route.

required
response_model type[Any] | None

Pydantic model for response serialization.

None
status_code int | None

HTTP status code for successful responses.

None
tags list[str] | None

OpenAPI tags for grouping endpoints.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None
summary str | None

Short summary for OpenAPI documentation.

None
description str | None

Detailed description for OpenAPI documentation.

None
response_description str

Description of successful response.

'Successful Response'
responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

None
deprecated bool | None

Whether this endpoint is deprecated.

None
operation_id str | None

Custom OpenAPI operation ID.

None
response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

None
response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

None
response_model_by_alias bool

Use field aliases in response.

True
response_model_exclude_unset bool

Exclude unset fields from response.

False
response_model_exclude_defaults bool

Exclude fields with default values.

False
response_model_exclude_none bool

Exclude None values from response.

False
include_in_schema bool

Include in OpenAPI schema.

True
response_class type[Response]

FastAPI response class to use.

JSONResponse
name str | None

Display name for the route.

None
route_class_override type[APIRoute] | None

Custom APIRoute class.

None
callbacks list[Route] | None

OpenAPI callbacks configuration.

None
openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that marks the method as a PUT endpoint.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/put.py
def put(
    path: str,
    response_model: type[Any] | None = None,
    status_code: int | None = None,
    tags: list[str] | None = None,
    dependencies: Sequence[params.Depends] | None = None,
    summary: str | None = None,
    description: str | None = None,
    response_description: str = "Successful Response",
    responses: dict[int | str, dict[str, Any]] | None = None,
    deprecated: bool | None = None,
    operation_id: str | None = None,
    response_model_include: SetIntStr | DictIntStrAny | None = None,
    response_model_exclude: SetIntStr | DictIntStrAny | None = None,
    response_model_by_alias: bool = True,
    response_model_exclude_unset: bool = False,
    response_model_exclude_defaults: bool = False,
    response_model_exclude_none: bool = False,
    include_in_schema: bool = True,
    response_class: type[Response] = JSONResponse,
    name: str | None = None,
    route_class_override: type[APIRoute] | None = None,
    callbacks: list[StarletteRoute] | None = None,
    openapi_extra: dict[str, Any] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as an HTTP PUT endpoint.

    Convenience wrapper around @route that automatically sets the HTTP method
    to PUT. Supports all FastAPI route configuration options.

    Args:
        path: The URL path for this route.
        response_model: Pydantic model for response serialization.
        status_code: HTTP status code for successful responses.
        tags: OpenAPI tags for grouping endpoints.
        dependencies: FastAPI dependencies to inject.
        summary: Short summary for OpenAPI documentation.
        description: Detailed description for OpenAPI documentation.
        response_description: Description of successful response.
        responses: Additional response schemas for OpenAPI.
        deprecated: Whether this endpoint is deprecated.
        operation_id: Custom OpenAPI operation ID.
        response_model_include: Fields to include in response model.
        response_model_exclude: Fields to exclude from response model.
        response_model_by_alias: Use field aliases in response.
        response_model_exclude_unset: Exclude unset fields from response.
        response_model_exclude_defaults: Exclude fields with default values.
        response_model_exclude_none: Exclude None values from response.
        include_in_schema: Include in OpenAPI schema.
        response_class: FastAPI response class to use.
        name: Display name for the route.
        route_class_override: Custom APIRoute class.
        callbacks: OpenAPI callbacks configuration.
        openapi_extra: Additional OpenAPI schema data.

    Returns:
        A decorator function that marks the method as a PUT endpoint.
    """
    return route(
        path=path,
        methods=[HTTPMethod.PUT],
        response_model=response_model,
        status_code=status_code,
        tags=tags,
        dependencies=dependencies,
        summary=summary,
        description=description,
        response_description=response_description,
        responses=responses,
        deprecated=deprecated,
        operation_id=operation_id,
        response_model_include=response_model_include,
        response_model_exclude=response_model_exclude,
        response_model_by_alias=response_model_by_alias,
        response_model_exclude_unset=response_model_exclude_unset,
        response_model_exclude_defaults=response_model_exclude_defaults,
        response_model_exclude_none=response_model_exclude_none,
        include_in_schema=include_in_schema,
        response_class=response_class,
        name=name,
        route_class_override=route_class_override,
        callbacks=callbacks,
        openapi_extra=openapi_extra,
    )

options: show_root_heading: false

spakky.plugins.fastapi.routes.patch

PATCH route decorator for FastAPI controllers.

Provides a convenience decorator for marking controller methods as HTTP PATCH endpoints with full FastAPI configuration support.

patch(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None)

Decorator to mark a controller method as an HTTP PATCH endpoint.

Convenience wrapper around @route that automatically sets the HTTP method to PATCH. Supports all FastAPI route configuration options.

Parameters:

Name Type Description Default
path str

The URL path for this route.

required
response_model type[Any] | None

Pydantic model for response serialization.

None
status_code int | None

HTTP status code for successful responses.

None
tags list[str] | None

OpenAPI tags for grouping endpoints.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None
summary str | None

Short summary for OpenAPI documentation.

None
description str | None

Detailed description for OpenAPI documentation.

None
response_description str

Description of successful response.

'Successful Response'
responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

None
deprecated bool | None

Whether this endpoint is deprecated.

None
operation_id str | None

Custom OpenAPI operation ID.

None
response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

None
response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

None
response_model_by_alias bool

Use field aliases in response.

True
response_model_exclude_unset bool

Exclude unset fields from response.

False
response_model_exclude_defaults bool

Exclude fields with default values.

False
response_model_exclude_none bool

Exclude None values from response.

False
include_in_schema bool

Include in OpenAPI schema.

True
response_class type[Response]

FastAPI response class to use.

JSONResponse
name str | None

Display name for the route.

None
route_class_override type[APIRoute] | None

Custom APIRoute class.

None
callbacks list[Route] | None

OpenAPI callbacks configuration.

None
openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that marks the method as a PATCH endpoint.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/patch.py
def patch(
    path: str,
    response_model: type[Any] | None = None,
    status_code: int | None = None,
    tags: list[str] | None = None,
    dependencies: Sequence[params.Depends] | None = None,
    summary: str | None = None,
    description: str | None = None,
    response_description: str = "Successful Response",
    responses: dict[int | str, dict[str, Any]] | None = None,
    deprecated: bool | None = None,
    operation_id: str | None = None,
    response_model_include: SetIntStr | DictIntStrAny | None = None,
    response_model_exclude: SetIntStr | DictIntStrAny | None = None,
    response_model_by_alias: bool = True,
    response_model_exclude_unset: bool = False,
    response_model_exclude_defaults: bool = False,
    response_model_exclude_none: bool = False,
    include_in_schema: bool = True,
    response_class: type[Response] = JSONResponse,
    name: str | None = None,
    route_class_override: type[APIRoute] | None = None,
    callbacks: list[StarletteRoute] | None = None,
    openapi_extra: dict[str, Any] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as an HTTP PATCH endpoint.

    Convenience wrapper around @route that automatically sets the HTTP method
    to PATCH. Supports all FastAPI route configuration options.

    Args:
        path: The URL path for this route.
        response_model: Pydantic model for response serialization.
        status_code: HTTP status code for successful responses.
        tags: OpenAPI tags for grouping endpoints.
        dependencies: FastAPI dependencies to inject.
        summary: Short summary for OpenAPI documentation.
        description: Detailed description for OpenAPI documentation.
        response_description: Description of successful response.
        responses: Additional response schemas for OpenAPI.
        deprecated: Whether this endpoint is deprecated.
        operation_id: Custom OpenAPI operation ID.
        response_model_include: Fields to include in response model.
        response_model_exclude: Fields to exclude from response model.
        response_model_by_alias: Use field aliases in response.
        response_model_exclude_unset: Exclude unset fields from response.
        response_model_exclude_defaults: Exclude fields with default values.
        response_model_exclude_none: Exclude None values from response.
        include_in_schema: Include in OpenAPI schema.
        response_class: FastAPI response class to use.
        name: Display name for the route.
        route_class_override: Custom APIRoute class.
        callbacks: OpenAPI callbacks configuration.
        openapi_extra: Additional OpenAPI schema data.

    Returns:
        A decorator function that marks the method as a PATCH endpoint.
    """
    return route(
        path=path,
        methods=[HTTPMethod.PATCH],
        response_model=response_model,
        status_code=status_code,
        tags=tags,
        dependencies=dependencies,
        summary=summary,
        description=description,
        response_description=response_description,
        responses=responses,
        deprecated=deprecated,
        operation_id=operation_id,
        response_model_include=response_model_include,
        response_model_exclude=response_model_exclude,
        response_model_by_alias=response_model_by_alias,
        response_model_exclude_unset=response_model_exclude_unset,
        response_model_exclude_defaults=response_model_exclude_defaults,
        response_model_exclude_none=response_model_exclude_none,
        include_in_schema=include_in_schema,
        response_class=response_class,
        name=name,
        route_class_override=route_class_override,
        callbacks=callbacks,
        openapi_extra=openapi_extra,
    )

options: show_root_heading: false

spakky.plugins.fastapi.routes.delete

DELETE route decorator for FastAPI controllers.

Provides a convenience decorator for marking controller methods as HTTP DELETE endpoints with full FastAPI configuration support.

delete(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None)

Decorator to mark a controller method as an HTTP DELETE endpoint.

Convenience wrapper around @route that automatically sets the HTTP method to DELETE. Supports all FastAPI route configuration options.

Parameters:

Name Type Description Default
path str

The URL path for this route.

required
response_model type[Any] | None

Pydantic model for response serialization.

None
status_code int | None

HTTP status code for successful responses.

None
tags list[str] | None

OpenAPI tags for grouping endpoints.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None
summary str | None

Short summary for OpenAPI documentation.

None
description str | None

Detailed description for OpenAPI documentation.

None
response_description str

Description of successful response.

'Successful Response'
responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

None
deprecated bool | None

Whether this endpoint is deprecated.

None
operation_id str | None

Custom OpenAPI operation ID.

None
response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

None
response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

None
response_model_by_alias bool

Use field aliases in response.

True
response_model_exclude_unset bool

Exclude unset fields from response.

False
response_model_exclude_defaults bool

Exclude fields with default values.

False
response_model_exclude_none bool

Exclude None values from response.

False
include_in_schema bool

Include in OpenAPI schema.

True
response_class type[Response]

FastAPI response class to use.

JSONResponse
name str | None

Display name for the route.

None
route_class_override type[APIRoute] | None

Custom APIRoute class.

None
callbacks list[Route] | None

OpenAPI callbacks configuration.

None
openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that marks the method as a DELETE endpoint.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/delete.py
def delete(
    path: str,
    response_model: type[Any] | None = None,
    status_code: int | None = None,
    tags: list[str] | None = None,
    dependencies: Sequence[params.Depends] | None = None,
    summary: str | None = None,
    description: str | None = None,
    response_description: str = "Successful Response",
    responses: dict[int | str, dict[str, Any]] | None = None,
    deprecated: bool | None = None,
    operation_id: str | None = None,
    response_model_include: SetIntStr | DictIntStrAny | None = None,
    response_model_exclude: SetIntStr | DictIntStrAny | None = None,
    response_model_by_alias: bool = True,
    response_model_exclude_unset: bool = False,
    response_model_exclude_defaults: bool = False,
    response_model_exclude_none: bool = False,
    include_in_schema: bool = True,
    response_class: type[Response] = JSONResponse,
    name: str | None = None,
    route_class_override: type[APIRoute] | None = None,
    callbacks: list[StarletteRoute] | None = None,
    openapi_extra: dict[str, Any] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as an HTTP DELETE endpoint.

    Convenience wrapper around @route that automatically sets the HTTP method
    to DELETE. Supports all FastAPI route configuration options.

    Args:
        path: The URL path for this route.
        response_model: Pydantic model for response serialization.
        status_code: HTTP status code for successful responses.
        tags: OpenAPI tags for grouping endpoints.
        dependencies: FastAPI dependencies to inject.
        summary: Short summary for OpenAPI documentation.
        description: Detailed description for OpenAPI documentation.
        response_description: Description of successful response.
        responses: Additional response schemas for OpenAPI.
        deprecated: Whether this endpoint is deprecated.
        operation_id: Custom OpenAPI operation ID.
        response_model_include: Fields to include in response model.
        response_model_exclude: Fields to exclude from response model.
        response_model_by_alias: Use field aliases in response.
        response_model_exclude_unset: Exclude unset fields from response.
        response_model_exclude_defaults: Exclude fields with default values.
        response_model_exclude_none: Exclude None values from response.
        include_in_schema: Include in OpenAPI schema.
        response_class: FastAPI response class to use.
        name: Display name for the route.
        route_class_override: Custom APIRoute class.
        callbacks: OpenAPI callbacks configuration.
        openapi_extra: Additional OpenAPI schema data.

    Returns:
        A decorator function that marks the method as a DELETE endpoint.
    """
    return route(
        path=path,
        methods=[HTTPMethod.DELETE],
        response_model=response_model,
        status_code=status_code,
        tags=tags,
        dependencies=dependencies,
        summary=summary,
        description=description,
        response_description=response_description,
        responses=responses,
        deprecated=deprecated,
        operation_id=operation_id,
        response_model_include=response_model_include,
        response_model_exclude=response_model_exclude,
        response_model_by_alias=response_model_by_alias,
        response_model_exclude_unset=response_model_exclude_unset,
        response_model_exclude_defaults=response_model_exclude_defaults,
        response_model_exclude_none=response_model_exclude_none,
        include_in_schema=include_in_schema,
        response_class=response_class,
        name=name,
        route_class_override=route_class_override,
        callbacks=callbacks,
        openapi_extra=openapi_extra,
    )

options: show_root_heading: false

spakky.plugins.fastapi.routes.head

HEAD route decorator for FastAPI controllers.

Provides a convenience decorator for marking controller methods as HTTP HEAD endpoints with full FastAPI configuration support.

head(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None)

Decorator to mark a controller method as an HTTP HEAD endpoint.

Convenience wrapper around @route that automatically sets the HTTP method to HEAD. Supports all FastAPI route configuration options.

Parameters:

Name Type Description Default
path str

The URL path for this route.

required
response_model type[Any] | None

Pydantic model for response serialization.

None
status_code int | None

HTTP status code for successful responses.

None
tags list[str] | None

OpenAPI tags for grouping endpoints.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None
summary str | None

Short summary for OpenAPI documentation.

None
description str | None

Detailed description for OpenAPI documentation.

None
response_description str

Description of successful response.

'Successful Response'
responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

None
deprecated bool | None

Whether this endpoint is deprecated.

None
operation_id str | None

Custom OpenAPI operation ID.

None
response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

None
response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

None
response_model_by_alias bool

Use field aliases in response.

True
response_model_exclude_unset bool

Exclude unset fields from response.

False
response_model_exclude_defaults bool

Exclude fields with default values.

False
response_model_exclude_none bool

Exclude None values from response.

False
include_in_schema bool

Include in OpenAPI schema.

True
response_class type[Response]

FastAPI response class to use.

JSONResponse
name str | None

Display name for the route.

None
route_class_override type[APIRoute] | None

Custom APIRoute class.

None
callbacks list[Route] | None

OpenAPI callbacks configuration.

None
openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that marks the method as a HEAD endpoint.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/head.py
def head(
    path: str,
    response_model: type[Any] | None = None,
    status_code: int | None = None,
    tags: list[str] | None = None,
    dependencies: Sequence[params.Depends] | None = None,
    summary: str | None = None,
    description: str | None = None,
    response_description: str = "Successful Response",
    responses: dict[int | str, dict[str, Any]] | None = None,
    deprecated: bool | None = None,
    operation_id: str | None = None,
    response_model_include: SetIntStr | DictIntStrAny | None = None,
    response_model_exclude: SetIntStr | DictIntStrAny | None = None,
    response_model_by_alias: bool = True,
    response_model_exclude_unset: bool = False,
    response_model_exclude_defaults: bool = False,
    response_model_exclude_none: bool = False,
    include_in_schema: bool = True,
    response_class: type[Response] = JSONResponse,
    name: str | None = None,
    route_class_override: type[APIRoute] | None = None,
    callbacks: list[StarletteRoute] | None = None,
    openapi_extra: dict[str, Any] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as an HTTP HEAD endpoint.

    Convenience wrapper around @route that automatically sets the HTTP method
    to HEAD. Supports all FastAPI route configuration options.

    Args:
        path: The URL path for this route.
        response_model: Pydantic model for response serialization.
        status_code: HTTP status code for successful responses.
        tags: OpenAPI tags for grouping endpoints.
        dependencies: FastAPI dependencies to inject.
        summary: Short summary for OpenAPI documentation.
        description: Detailed description for OpenAPI documentation.
        response_description: Description of successful response.
        responses: Additional response schemas for OpenAPI.
        deprecated: Whether this endpoint is deprecated.
        operation_id: Custom OpenAPI operation ID.
        response_model_include: Fields to include in response model.
        response_model_exclude: Fields to exclude from response model.
        response_model_by_alias: Use field aliases in response.
        response_model_exclude_unset: Exclude unset fields from response.
        response_model_exclude_defaults: Exclude fields with default values.
        response_model_exclude_none: Exclude None values from response.
        include_in_schema: Include in OpenAPI schema.
        response_class: FastAPI response class to use.
        name: Display name for the route.
        route_class_override: Custom APIRoute class.
        callbacks: OpenAPI callbacks configuration.
        openapi_extra: Additional OpenAPI schema data.

    Returns:
        A decorator function that marks the method as a HEAD endpoint.
    """
    return route(
        path=path,
        methods=[HTTPMethod.HEAD],
        response_model=response_model,
        status_code=status_code,
        tags=tags,
        dependencies=dependencies,
        summary=summary,
        description=description,
        response_description=response_description,
        responses=responses,
        deprecated=deprecated,
        operation_id=operation_id,
        response_model_include=response_model_include,
        response_model_exclude=response_model_exclude,
        response_model_by_alias=response_model_by_alias,
        response_model_exclude_unset=response_model_exclude_unset,
        response_model_exclude_defaults=response_model_exclude_defaults,
        response_model_exclude_none=response_model_exclude_none,
        include_in_schema=include_in_schema,
        response_class=response_class,
        name=name,
        route_class_override=route_class_override,
        callbacks=callbacks,
        openapi_extra=openapi_extra,
    )

options: show_root_heading: false

spakky.plugins.fastapi.routes.options

OPTIONS route decorator for FastAPI controllers.

Provides a convenience decorator for marking controller methods as HTTP OPTIONS endpoints with full FastAPI configuration support.

options(path, response_model=None, status_code=None, tags=None, dependencies=None, summary=None, description=None, response_description='Successful Response', responses=None, deprecated=None, operation_id=None, response_model_include=None, response_model_exclude=None, response_model_by_alias=True, response_model_exclude_unset=False, response_model_exclude_defaults=False, response_model_exclude_none=False, include_in_schema=True, response_class=JSONResponse, name=None, route_class_override=None, callbacks=None, openapi_extra=None)

Decorator to mark a controller method as an HTTP OPTIONS endpoint.

Convenience wrapper around @route that automatically sets the HTTP method to OPTIONS. Supports all FastAPI route configuration options.

Parameters:

Name Type Description Default
path str

The URL path for this route.

required
response_model type[Any] | None

Pydantic model for response serialization.

None
status_code int | None

HTTP status code for successful responses.

None
tags list[str] | None

OpenAPI tags for grouping endpoints.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None
summary str | None

Short summary for OpenAPI documentation.

None
description str | None

Detailed description for OpenAPI documentation.

None
response_description str

Description of successful response.

'Successful Response'
responses dict[int | str, dict[str, Any]] | None

Additional response schemas for OpenAPI.

None
deprecated bool | None

Whether this endpoint is deprecated.

None
operation_id str | None

Custom OpenAPI operation ID.

None
response_model_include SetIntStr | DictIntStrAny | None

Fields to include in response model.

None
response_model_exclude SetIntStr | DictIntStrAny | None

Fields to exclude from response model.

None
response_model_by_alias bool

Use field aliases in response.

True
response_model_exclude_unset bool

Exclude unset fields from response.

False
response_model_exclude_defaults bool

Exclude fields with default values.

False
response_model_exclude_none bool

Exclude None values from response.

False
include_in_schema bool

Include in OpenAPI schema.

True
response_class type[Response]

FastAPI response class to use.

JSONResponse
name str | None

Display name for the route.

None
route_class_override type[APIRoute] | None

Custom APIRoute class.

None
callbacks list[Route] | None

OpenAPI callbacks configuration.

None
openapi_extra dict[str, Any] | None

Additional OpenAPI schema data.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that marks the method as an OPTIONS endpoint.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/options.py
def options(
    path: str,
    response_model: type[Any] | None = None,
    status_code: int | None = None,
    tags: list[str] | None = None,
    dependencies: Sequence[params.Depends] | None = None,
    summary: str | None = None,
    description: str | None = None,
    response_description: str = "Successful Response",
    responses: dict[int | str, dict[str, Any]] | None = None,
    deprecated: bool | None = None,
    operation_id: str | None = None,
    response_model_include: SetIntStr | DictIntStrAny | None = None,
    response_model_exclude: SetIntStr | DictIntStrAny | None = None,
    response_model_by_alias: bool = True,
    response_model_exclude_unset: bool = False,
    response_model_exclude_defaults: bool = False,
    response_model_exclude_none: bool = False,
    include_in_schema: bool = True,
    response_class: type[Response] = JSONResponse,
    name: str | None = None,
    route_class_override: type[APIRoute] | None = None,
    callbacks: list[StarletteRoute] | None = None,
    openapi_extra: dict[str, Any] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as an HTTP OPTIONS endpoint.

    Convenience wrapper around @route that automatically sets the HTTP method
    to OPTIONS. Supports all FastAPI route configuration options.

    Args:
        path: The URL path for this route.
        response_model: Pydantic model for response serialization.
        status_code: HTTP status code for successful responses.
        tags: OpenAPI tags for grouping endpoints.
        dependencies: FastAPI dependencies to inject.
        summary: Short summary for OpenAPI documentation.
        description: Detailed description for OpenAPI documentation.
        response_description: Description of successful response.
        responses: Additional response schemas for OpenAPI.
        deprecated: Whether this endpoint is deprecated.
        operation_id: Custom OpenAPI operation ID.
        response_model_include: Fields to include in response model.
        response_model_exclude: Fields to exclude from response model.
        response_model_by_alias: Use field aliases in response.
        response_model_exclude_unset: Exclude unset fields from response.
        response_model_exclude_defaults: Exclude fields with default values.
        response_model_exclude_none: Exclude None values from response.
        include_in_schema: Include in OpenAPI schema.
        response_class: FastAPI response class to use.
        name: Display name for the route.
        route_class_override: Custom APIRoute class.
        callbacks: OpenAPI callbacks configuration.
        openapi_extra: Additional OpenAPI schema data.

    Returns:
        A decorator function that marks the method as an OPTIONS endpoint.
    """
    return route(
        path=path,
        methods=[HTTPMethod.OPTIONS],
        response_model=response_model,
        status_code=status_code,
        tags=tags,
        dependencies=dependencies,
        summary=summary,
        description=description,
        response_description=response_description,
        responses=responses,
        deprecated=deprecated,
        operation_id=operation_id,
        response_model_include=response_model_include,
        response_model_exclude=response_model_exclude,
        response_model_by_alias=response_model_by_alias,
        response_model_exclude_unset=response_model_exclude_unset,
        response_model_exclude_defaults=response_model_exclude_defaults,
        response_model_exclude_none=response_model_exclude_none,
        include_in_schema=include_in_schema,
        response_class=response_class,
        name=name,
        route_class_override=route_class_override,
        callbacks=callbacks,
        openapi_extra=openapi_extra,
    )

options: show_root_heading: false

spakky.plugins.fastapi.routes.websocket

WebSocket route decorator for FastAPI controllers.

Provides a decorator for marking controller methods as WebSocket endpoints with support for FastAPI WebSocket configuration.

WebSocketRoute(path, name=None, dependencies=None) dataclass

Bases: FunctionAnnotation

Function annotation for marking methods as WebSocket endpoints.

Stores WebSocket route configuration including path and dependencies.

Attributes:

Name Type Description
path str

The URL path for this WebSocket endpoint.

name str | None

Display name for the WebSocket route.

dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

websocket(path, name=None, dependencies=None)

Decorator to mark a controller method as a WebSocket endpoint.

Attaches WebSocket route configuration to the method which will be registered by the RegisterRoutesPostProcessor during container initialization.

Parameters:

Name Type Description Default
path str

The URL path for this WebSocket endpoint.

required
name str | None

Display name for the WebSocket route.

None
dependencies Sequence[Depends] | None

FastAPI dependencies to inject.

None

Returns:

Type Description
Callable[[Callable[..., AnyT]], Callable[..., AnyT]]

A decorator function that attaches the WebSocket route configuration.

Source code in plugins/spakky-fastapi/src/spakky/plugins/fastapi/routes/websocket.py
def websocket(
    path: str,
    name: str | None = None,
    dependencies: Sequence[params.Depends] | None = None,
) -> Callable[[Callable[..., AnyT]], Callable[..., AnyT]]:
    """Decorator to mark a controller method as a WebSocket endpoint.

    Attaches WebSocket route configuration to the method which will be
    registered by the RegisterRoutesPostProcessor during container initialization.

    Args:
        path: The URL path for this WebSocket endpoint.
        name: Display name for the WebSocket route.
        dependencies: FastAPI dependencies to inject.

    Returns:
        A decorator function that attaches the WebSocket route configuration.
    """
    return WebSocketRoute(
        path=path,
        name=name,
        dependencies=dependencies,
    )

options: show_root_heading: false