Home / Function/ api_route() — fastapi Function Reference

api_route() — fastapi Function Reference

Architecture documentation for the api_route() function in applications.py from the fastapi codebase.

Entity Profile

Dependency Diagram

graph TD
  17bcf28f_7595_a117_1722_327988604d26["api_route()"]
  587454b3_6db6_011f_9fa4_3e4e2e09b72d["FastAPI"]
  17bcf28f_7595_a117_1722_327988604d26 -->|defined in| 587454b3_6db6_011f_9fa4_3e4e2e09b72d
  6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb["api_route()"]
  17bcf28f_7595_a117_1722_327988604d26 -->|calls| 6a8dad5e_61e5_8086_e2a6_e7db4a0c2ceb
  28261a63_2ba9_f1ff_1d1b_475348a45a65["Default()"]
  17bcf28f_7595_a117_1722_327988604d26 -->|calls| 28261a63_2ba9_f1ff_1d1b_475348a45a65
  25327e8f_c38b_0b1b_93ba_5cf6834fddb3["add_api_route()"]
  17bcf28f_7595_a117_1722_327988604d26 -->|calls| 25327e8f_c38b_0b1b_93ba_5cf6834fddb3
  style 17bcf28f_7595_a117_1722_327988604d26 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

fastapi/applications.py lines 1199–1257

    def api_route(
        self,
        path: str,
        *,
        response_model: Any = Default(None),
        status_code: Optional[int] = None,
        tags: Optional[list[Union[str, Enum]]] = None,
        dependencies: Optional[Sequence[Depends]] = None,
        summary: Optional[str] = None,
        description: Optional[str] = None,
        response_description: str = "Successful Response",
        responses: Optional[dict[Union[int, str], dict[str, Any]]] = None,
        deprecated: Optional[bool] = None,
        methods: Optional[list[str]] = None,
        operation_id: Optional[str] = None,
        response_model_include: Optional[IncEx] = None,
        response_model_exclude: Optional[IncEx] = 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] = Default(JSONResponse),
        name: Optional[str] = None,
        openapi_extra: Optional[dict[str, Any]] = None,
        generate_unique_id_function: Callable[[routing.APIRoute], str] = Default(
            generate_unique_id
        ),
    ) -> Callable[[DecoratedCallable], DecoratedCallable]:
        def decorator(func: DecoratedCallable) -> DecoratedCallable:
            self.router.add_api_route(
                path,
                func,
                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,
                openapi_extra=openapi_extra,
                generate_unique_id_function=generate_unique_id_function,
            )
            return func

        return decorator

Domain

Subdomains

Frequently Asked Questions

What does api_route() do?
api_route() is a function in the fastapi codebase, defined in fastapi/applications.py.
Where is api_route() defined?
api_route() is defined in fastapi/applications.py at line 1199.
What does api_route() call?
api_route() calls 3 function(s): Default, add_api_route, api_route.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free