Include an `APIRouter` in the same app. Read more about it in the [FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/). ## Example ```python from fastapi import FastAPI from .users import users
(
self,
router: Annotated[routing.APIRouter, Doc("The `APIRouter` to include.")],
*,
prefix: Annotated[str, Doc("An optional path prefix for the router.")] = "",
tags: Annotated[
list[str | Enum] | None,
Doc(
"""
A list of tags to be applied to all the *path operations* in this
router.
It will be added to the generated OpenAPI (e.g. visible at `/docs`).
Read more about it in the
[FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).
"""
),
] = None,
dependencies: Annotated[
Sequence[Depends] | None,
Doc(
"""
A list of dependencies (using `Depends()`) to be applied to all the
*path operations* in this router.
Read more about it in the
[FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies).
**Example**
```python
from fastapi import Depends, FastAPI
from .dependencies import get_token_header
from .internal import admin
app = FastAPI()
app.include_router(
admin.router,
dependencies=[Depends(get_token_header)],
)
```
"""
),
] = None,
responses: Annotated[
dict[int | str, dict[str, Any]] | None,
Doc(
"""
Additional responses to be shown in OpenAPI.
It will be added to the generated OpenAPI (e.g. visible at `/docs`).
Read more about it in the
[FastAPI docs for Additional Responses in OpenAPI](https://fastapi.tiangolo.com/advanced/additional-responses/).
And in the
[FastAPI docs for Bigger Applications](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies).
"""
),
] = None,
deprecated: Annotated[
bool | None,
Doc(
"""
Mark all the *path operations* in this router as deprecated.
It will be added to the generated OpenAPI (e.g. visible at `/docs`).
**Example**
```python
from fastapi import FastAPI
from .internal import old_api
app = FastAPI()
app.include_router(
old_api.router,
deprecated=True,
)
```
"""
),
] = None,
include_in_schema: Annotated[
bool,
Doc(
"""
Include (or not) all the *path operations* in this router in the
generated OpenAPI schema.
This affects the generated OpenAPI (e.g. visible at `/docs`).
**Example**
```python
from fastapi import FastAPI
from .internal import old_api
app = FastAPI()
app.include_router(
old_api.router,
include_in_schema=False,
)
```
"""
),
] = True,
default_response_class: Annotated[
type[Response],
Doc(
"""
Default response class to be used for the *path operations* in this
router.
Read more in the
[FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#default-response-class).
**Example**
```python
from fastapi import FastAPI
from fastapi.responses import ORJSONResponse
from .internal import old_api
app = FastAPI()
app.include_router(
old_api.router,
default_response_class=ORJSONResponse,
)
```
"""
),
] = Default(JSONResponse),
callbacks: Annotated[
list[BaseRoute] | None,
Doc(
"""
List of *path operations* that will be used as OpenAPI callbacks.
This is only for OpenAPI documentation, the callbacks won't be used
directly.
It will be added to the generated OpenAPI (e.g. visible at `/docs`).
Read more about it in the
[FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).
"""
),
] = None,
generate_unique_id_function: Annotated[
Callable[[routing.APIRoute], str],
Doc(
"""
Customize the function used to generate unique IDs for the *path
operations* shown in the generated OpenAPI.
This is particularly useful when automatically generating clients or
SDKs for your API.
Read more about it in the
[FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).
"""
),
] = Default(generate_unique_id),
)
| 1433 | return decorator |
| 1434 | |
| 1435 | def include_router( |
| 1436 | self, |
| 1437 | router: Annotated[routing.APIRouter, Doc("The `APIRouter` to include.")], |
| 1438 | *, |
| 1439 | prefix: Annotated[str, Doc("An optional path prefix for the router.")] = "", |
| 1440 | tags: Annotated[ |
| 1441 | list[str | Enum] | None, |
| 1442 | Doc( |
| 1443 | """ |
| 1444 | A list of tags to be applied to all the *path operations* in this |
| 1445 | router. |
| 1446 | |
| 1447 | It will be added to the generated OpenAPI (e.g. visible at `/docs`). |
| 1448 | |
| 1449 | Read more about it in the |
| 1450 | [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/). |
| 1451 | """ |
| 1452 | ), |
| 1453 | ] = None, |
| 1454 | dependencies: Annotated[ |
| 1455 | Sequence[Depends] | None, |
| 1456 | Doc( |
| 1457 | """ |
| 1458 | A list of dependencies (using `Depends()`) to be applied to all the |
| 1459 | *path operations* in this router. |
| 1460 | |
| 1461 | Read more about it in the |
| 1462 | [FastAPI docs for Bigger Applications - Multiple Files](https://fastapi.tiangolo.com/tutorial/bigger-applications/#include-an-apirouter-with-a-custom-prefix-tags-responses-and-dependencies). |
| 1463 | |
| 1464 | **Example** |
| 1465 | |
| 1466 | ```python |
| 1467 | from fastapi import Depends, FastAPI |
| 1468 | |
| 1469 | from .dependencies import get_token_header |
| 1470 | from .internal import admin |
| 1471 | |
| 1472 | app = FastAPI() |
| 1473 | |
| 1474 | app.include_router( |
| 1475 | admin.router, |
| 1476 | dependencies=[Depends(get_token_header)], |
| 1477 | ) |
| 1478 | ``` |
| 1479 | """ |
| 1480 | ), |
| 1481 | ] = None, |
| 1482 | responses: Annotated[ |
| 1483 | dict[int | str, dict[str, Any]] | None, |
| 1484 | Doc( |
| 1485 | """ |
| 1486 | Additional responses to be shown in OpenAPI. |
| 1487 | |
| 1488 | It will be added to the generated OpenAPI (e.g. visible at `/docs`). |
| 1489 | |
| 1490 | Read more about it in the |
| 1491 | [FastAPI docs for Additional Responses in OpenAPI](https://fastapi.tiangolo.com/advanced/additional-responses/). |
| 1492 |