Skip to content

back to SWE-Agent summary

SWE-Agent: fastapi

Pytest Summary for test tests

status count
failed 29
skipped 3
total 32
collected 32
passed 0

Failed pytests:

test_tutorial003_04.py::test_invalid_response_model

test_tutorial003_04.py::test_invalid_response_model
def test_invalid_response_model():
        with pytest.raises(FastAPIError):
>           from docs_src.response_model.tutorial003_04 import app

tests/test_tutorial/test_response_model/test_tutorial003_04.py:7: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/response_model/tutorial003_04.py:3: in 
    from fastapi import FastAPI, Response
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial003_04_py310.py::test_invalid_response_model

test_tutorial003_04_py310.py::test_invalid_response_model
@needs_py310
    def test_invalid_response_model():
        with pytest.raises(FastAPIError):
>           from docs_src.response_model.tutorial003_04_py310 import app

tests/test_tutorial/test_response_model/test_tutorial003_04_py310.py:10: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/response_model/tutorial003_04_py310.py:1: in 
    from fastapi import FastAPI, Response
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_app02.py::test_settings

test_app02.py::test_settings
monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fb969e9dd80>

    @needs_pydanticv2
    def test_settings(monkeypatch: MonkeyPatch):
>       from docs_src.settings.app02 import main

tests/test_tutorial/test_settings/test_app02.py:8: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/settings/app02/main.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_app02.py::test_override_settings

test_app02.py::test_override_settings
@needs_pydanticv2
    def test_override_settings():
>       from docs_src.settings.app02 import test_main

tests/test_tutorial/test_settings/test_app02.py:18: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.venv/lib/python3.10/site-packages/_pytest/assertion/rewrite.py:184: in exec_module
    exec(co, module.__dict__)
docs_src/settings/app02/test_main.py:1: in 
    from fastapi.testclient import TestClient
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_main_b_an_py310.py::test_app

test_main_b_an_py310.py::test_app
@needs_py310
    def test_app():
>       from docs_src.app_testing.app_b_an_py310 import test_main

tests/test_tutorial/test_testing/test_main_b_an_py310.py:6: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.venv/lib/python3.10/site-packages/_pytest/assertion/rewrite.py:184: in exec_module
    exec(co, module.__dict__)
docs_src/app_testing/app_b_an_py310/test_main.py:1: in 
    from fastapi.testclient import TestClient
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_main_b_an_py39.py::test_app

test_main_b_an_py39.py::test_app
@needs_py39
    def test_app():
>       from docs_src.app_testing.app_b_an_py39 import test_main

tests/test_tutorial/test_testing/test_main_b_an_py39.py:6: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.venv/lib/python3.10/site-packages/_pytest/assertion/rewrite.py:184: in exec_module
    exec(co, module.__dict__)
docs_src/app_testing/app_b_an_py39/test_main.py:1: in 
    from fastapi.testclient import TestClient
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_main_b_py310.py::test_app

test_main_b_py310.py::test_app
@needs_py310
    def test_app():
>       from docs_src.app_testing.app_b_py310 import test_main

tests/test_tutorial/test_testing/test_main_b_py310.py:6: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
.venv/lib/python3.10/site-packages/_pytest/assertion/rewrite.py:184: in exec_module
    exec(co, module.__dict__)
docs_src/app_testing/app_b_py310/test_main.py:1: in 
    from fastapi.testclient import TestClient
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial003.py::test_main

test_tutorial003.py::test_main
def test_main():
        with pytest.warns(DeprecationWarning):
>           from docs_src.app_testing.tutorial003 import test_read_items

tests/test_tutorial/test_testing/test_tutorial003.py:6: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/app_testing/tutorial003.py:1: in 
    from fastapi import FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

During handling of the above exception, another exception occurred:

    def test_main():
>       with pytest.warns(DeprecationWarning):
E       Failed: DID NOT WARN. No warnings of type (,) were emitted.
E        Emitted warnings: [].

tests/test_tutorial/test_testing/test_tutorial003.py:5: Failed

test_tutorial001_an_py310.py::test_override_in_items_run

test_tutorial001_an_py310.py::test_override_in_items_run
@needs_py310
    def test_override_in_items_run():
>       from docs_src.dependency_testing.tutorial001_an_py310 import test_override_in_items

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py:6: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py310.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py310.py::test_override_in_items_with_q_run

test_tutorial001_an_py310.py::test_override_in_items_with_q_run
@needs_py310
    def test_override_in_items_with_q_run():
>       from docs_src.dependency_testing.tutorial001_an_py310 import (
            test_override_in_items_with_q,
        )

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py:13: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py310.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py310.py::test_override_in_items_with_params_run

test_tutorial001_an_py310.py::test_override_in_items_with_params_run
@needs_py310
    def test_override_in_items_with_params_run():
>       from docs_src.dependency_testing.tutorial001_an_py310 import (
            test_override_in_items_with_params,
        )

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py310.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py310.py::test_override_in_users

test_tutorial001_an_py310.py::test_override_in_users
@needs_py310
    def test_override_in_users():
>       from docs_src.dependency_testing.tutorial001_an_py310 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py:31: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py310.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py310.py::test_override_in_users_with_q

test_tutorial001_an_py310.py::test_override_in_users_with_q
@needs_py310
    def test_override_in_users_with_q():
>       from docs_src.dependency_testing.tutorial001_an_py310 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py310.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py310.py::test_override_in_users_with_params

test_tutorial001_an_py310.py::test_override_in_users_with_params
@needs_py310
    def test_override_in_users_with_params():
>       from docs_src.dependency_testing.tutorial001_an_py310 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py:55: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py310.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py310.py::test_normal_app

test_tutorial001_an_py310.py::test_normal_app
@needs_py310
    def test_normal_app():
>       from docs_src.dependency_testing.tutorial001_an_py310 import app, client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py310.py:67: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py310.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py39.py::test_override_in_items_run

test_tutorial001_an_py39.py::test_override_in_items_run
@needs_py39
    def test_override_in_items_run():
>       from docs_src.dependency_testing.tutorial001_an_py39 import test_override_in_items

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py:6: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py39.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py39.py::test_override_in_items_with_q_run

test_tutorial001_an_py39.py::test_override_in_items_with_q_run
@needs_py39
    def test_override_in_items_with_q_run():
>       from docs_src.dependency_testing.tutorial001_an_py39 import (
            test_override_in_items_with_q,
        )

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py:13: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py39.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py39.py::test_override_in_items_with_params_run

test_tutorial001_an_py39.py::test_override_in_items_with_params_run
@needs_py39
    def test_override_in_items_with_params_run():
>       from docs_src.dependency_testing.tutorial001_an_py39 import (
            test_override_in_items_with_params,
        )

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py39.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py39.py::test_override_in_users

test_tutorial001_an_py39.py::test_override_in_users
@needs_py39
    def test_override_in_users():
>       from docs_src.dependency_testing.tutorial001_an_py39 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py:31: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py39.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py39.py::test_override_in_users_with_q

test_tutorial001_an_py39.py::test_override_in_users_with_q
@needs_py39
    def test_override_in_users_with_q():
>       from docs_src.dependency_testing.tutorial001_an_py39 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py39.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py39.py::test_override_in_users_with_params

test_tutorial001_an_py39.py::test_override_in_users_with_params
@needs_py39
    def test_override_in_users_with_params():
>       from docs_src.dependency_testing.tutorial001_an_py39 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py:55: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py39.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_an_py39.py::test_normal_app

test_tutorial001_an_py39.py::test_normal_app
@needs_py39
    def test_normal_app():
>       from docs_src.dependency_testing.tutorial001_an_py39 import app, client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_an_py39.py:67: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_an_py39.py:3: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_py310.py::test_override_in_items_run

test_tutorial001_py310.py::test_override_in_items_run
@needs_py310
    def test_override_in_items_run():
>       from docs_src.dependency_testing.tutorial001_py310 import test_override_in_items

tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py:6: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_py310.py:1: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_py310.py::test_override_in_items_with_q_run

test_tutorial001_py310.py::test_override_in_items_with_q_run
@needs_py310
    def test_override_in_items_with_q_run():
>       from docs_src.dependency_testing.tutorial001_py310 import (
            test_override_in_items_with_q,
        )

tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py:13: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_py310.py:1: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_py310.py::test_override_in_items_with_params_run

test_tutorial001_py310.py::test_override_in_items_with_params_run
@needs_py310
    def test_override_in_items_with_params_run():
>       from docs_src.dependency_testing.tutorial001_py310 import (
            test_override_in_items_with_params,
        )

tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_py310.py:1: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_py310.py::test_override_in_users

test_tutorial001_py310.py::test_override_in_users
@needs_py310
    def test_override_in_users():
>       from docs_src.dependency_testing.tutorial001_py310 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py:31: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_py310.py:1: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_py310.py::test_override_in_users_with_q

test_tutorial001_py310.py::test_override_in_users_with_q
@needs_py310
    def test_override_in_users_with_q():
>       from docs_src.dependency_testing.tutorial001_py310 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_py310.py:1: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_py310.py::test_override_in_users_with_params

test_tutorial001_py310.py::test_override_in_users_with_params
@needs_py310
    def test_override_in_users_with_params():
>       from docs_src.dependency_testing.tutorial001_py310 import client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py:55: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_py310.py:1: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

test_tutorial001_py310.py::test_normal_app

test_tutorial001_py310.py::test_normal_app
@needs_py310
    def test_normal_app():
>       from docs_src.dependency_testing.tutorial001_py310 import app, client

tests/test_tutorial/test_testing_dependencies/test_tutorial001_py310.py:67: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
docs_src/dependency_testing/tutorial001_py310.py:1: in 
    from fastapi import Depends, FastAPI
fastapi/__init__.py:7: in 
    from .applications import FastAPI as FastAPI
fastapi/applications.py:3: in 
    from fastapi import routing
fastapi/routing.py:9: in 
    from fastapi import params
fastapi/params.py:4: in 
    from fastapi.openapi.models import Example
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    from enum import Enum
    from typing import Any, Callable, Dict, Iterable, List, Optional, Set, Type, Union
>   from fastapi._compat import PYDANTIC_V2, CoreSchema, GetJsonSchemaHandler, JsonSchemaValue, _model_rebuild, with_info_plain_validator_function
E   ImportError: cannot import name '_model_rebuild' from 'fastapi._compat' (/testbed/fastapi/_compat.py)

fastapi/openapi/models.py:3: ImportError

Patch diff

diff --git a/fastapi/applications.py b/fastapi/applications.py
index 7abfd21f..6d55ee6d 100644
--- a/fastapi/applications.py
+++ b/fastapi/applications.py
@@ -92,7 +92,22 @@ class FastAPI(Starlette):
         Read more in the
         [FastAPI docs for OpenAPI](https://fastapi.tiangolo.com/how-to/extending-openapi/).
         """
-        pass
+        if not self.openapi_schema:
+            self.openapi_schema = get_openapi(
+                title=self.title,
+                version=self.version,
+                openapi_version=self.openapi_version,
+                summary=self.summary,
+                description=self.description,
+                routes=self.routes,
+                tags=self.openapi_tags,
+                servers=self.servers,
+                terms_of_service=self.terms_of_service,
+                contact=self.contact,
+                license_info=self.license_info,
+                webhooks=self.webhooks.routes,
+            )
+        return self.openapi_schema

     async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None:
         if self.root_path:
@@ -145,22 +160,31 @@ class FastAPI(Starlette):
         pass

     def get(self, path: Annotated[str, Doc('\n                The URL path to be used for this *path operation*.\n\n                For example, in `http://example.com/items`, the path is `/items`.\n                ')], *, response_model: Annotated[Any, Doc("\n                The type to use for the response.\n\n                It could be any valid Pydantic *field* type. So, it doesn't have to\n                be a Pydantic model, it could be other things, like a `list`, `dict`,\n                etc.\n\n                It will be used for:\n\n                * Documentation: the generated OpenAPI (and the UI at `/docs`) will\n                    show it as the response (JSON Schema).\n                * Serialization: you could return an arbitrary object and the\n                    `response_model` would be used to serialize that object into the\n                    corresponding JSON.\n                * Filtering: the JSON sent to the client will only contain the data\n                    (fields) defined in the `response_model`. If you returned an object\n                    that contains an attribute `password` but the `response_model` does\n                    not include that field, the JSON sent to the client would not have\n                    that `password`.\n                * Validation: whatever you return will be serialized with the\n                    `response_model`, converting any data as necessary to generate the\n                    corresponding JSON. But if the data in the object returned is not\n                    valid, that would mean a violation of the contract with the client,\n                    so it's an error from the API developer. So, FastAPI will raise an\n                    error and return a 500 error code (Internal Server Error).\n\n                Read more about it in the\n                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).\n                ")]=Default(None), status_code: Annotated[Optional[int], Doc('\n                The default status code to be used for the response.\n\n                You could override the status code by returning a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).\n                ')]=None, tags: Annotated[Optional[List[Union[str, Enum]]], Doc('\n                A list of tags to be applied to the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).\n                ')]=None, dependencies: Annotated[Optional[Sequence[Depends]], Doc('\n                A list of dependencies (using `Depends()`) to be applied to the\n                *path operation*.\n\n                Read more about it in the\n                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).\n                ')]=None, summary: Annotated[Optional[str], Doc('\n                A summary for the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, description: Annotated[Optional[str], Doc('\n                A description for the *path operation*.\n\n                If not provided, it will be extracted automatically from the docstring\n                of the *path operation function*.\n\n                It can contain Markdown.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, response_description: Annotated[str, Doc('\n                The description for the default response.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]='Successful Response', responses: Annotated[Optional[Dict[Union[int, str], Dict[str, Any]]], Doc('\n                Additional responses that could be returned by this *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, deprecated: Annotated[Optional[bool], Doc('\n                Mark this *path operation* as deprecated.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, operation_id: Annotated[Optional[str], Doc('\n                Custom operation ID to be used by this *path operation*.\n\n                By default, it is generated automatically.\n\n                If you provide a custom operation ID, you need to make sure it is\n                unique for the whole API.\n\n                You can customize the\n                operation ID generation with the parameter\n                `generate_unique_id_function` in the `FastAPI` class.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=None, response_model_include: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to include only certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_exclude: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to exclude certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_by_alias: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response model\n                should be serialized by alias when an alias is used.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=True, response_model_exclude_unset: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that were not set and\n                have their default values. This is different from\n                `response_model_exclude_defaults` in that if the fields are set,\n                they will be included in the response, even if the value is the same\n                as the default.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_defaults: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that have the same value\n                as the default. This is different from `response_model_exclude_unset`\n                in that if the fields are set but contain the same default values,\n                they will be excluded from the response.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_none: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data should\n                exclude fields set to `None`.\n\n                This is much simpler (less smart) than `response_model_exclude_unset`\n                and `response_model_exclude_defaults`. You probably want to use one of\n                those two instead of this one, as those allow returning `None` values\n                when it makes sense.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).\n                ')]=False, include_in_schema: Annotated[bool, Doc('\n                Include this *path operation* in the generated OpenAPI schema.\n\n                This affects the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).\n                ')]=True, response_class: Annotated[Type[Response], Doc('\n                Response class to be used for this *path operation*.\n\n                This will not be used if you return a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).\n                ')]=Default(JSONResponse), name: Annotated[Optional[str], Doc('\n                Name for this *path operation*. Only used internally.\n                ')]=None, callbacks: Annotated[Optional[List[BaseRoute]], Doc("\n                List of *path operations* that will be used as OpenAPI callbacks.\n\n                This is only for OpenAPI documentation, the callbacks won't be used\n                directly.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).\n                ")]=None, openapi_extra: Annotated[Optional[Dict[str, Any]], Doc('\n                Extra metadata to be included in the OpenAPI schema for this *path\n                operation*.\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).\n                ')]=None, generate_unique_id_function: Annotated[Callable[[routing.APIRoute], str], Doc('\n                Customize the function used to generate unique IDs for the *path\n                operations* shown in the generated OpenAPI.\n\n                This is particularly useful when automatically generating clients or\n                SDKs for your API.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=Default(generate_unique_id)) -> Callable[[DecoratedCallable], DecoratedCallable]:
-        """
-        Add a *path operation* using an HTTP GET operation.
-
-        ## Example
-
-        ```python
-        from fastapi import FastAPI
-
-        app = FastAPI()
-
-        @app.get("/items/")
-        def read_items():
-            return [{"name": "Empanada"}, {"name": "Arepa"}]
-        ```
-        """
-        pass
+        return self.router.get(
+            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,
+            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,
+            callbacks=callbacks,
+            openapi_extra=openapi_extra,
+            generate_unique_id_function=generate_unique_id_function,
+        )

     def put(self, path: Annotated[str, Doc('\n                The URL path to be used for this *path operation*.\n\n                For example, in `http://example.com/items`, the path is `/items`.\n                ')], *, response_model: Annotated[Any, Doc("\n                The type to use for the response.\n\n                It could be any valid Pydantic *field* type. So, it doesn't have to\n                be a Pydantic model, it could be other things, like a `list`, `dict`,\n                etc.\n\n                It will be used for:\n\n                * Documentation: the generated OpenAPI (and the UI at `/docs`) will\n                    show it as the response (JSON Schema).\n                * Serialization: you could return an arbitrary object and the\n                    `response_model` would be used to serialize that object into the\n                    corresponding JSON.\n                * Filtering: the JSON sent to the client will only contain the data\n                    (fields) defined in the `response_model`. If you returned an object\n                    that contains an attribute `password` but the `response_model` does\n                    not include that field, the JSON sent to the client would not have\n                    that `password`.\n                * Validation: whatever you return will be serialized with the\n                    `response_model`, converting any data as necessary to generate the\n                    corresponding JSON. But if the data in the object returned is not\n                    valid, that would mean a violation of the contract with the client,\n                    so it's an error from the API developer. So, FastAPI will raise an\n                    error and return a 500 error code (Internal Server Error).\n\n                Read more about it in the\n                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).\n                ")]=Default(None), status_code: Annotated[Optional[int], Doc('\n                The default status code to be used for the response.\n\n                You could override the status code by returning a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).\n                ')]=None, tags: Annotated[Optional[List[Union[str, Enum]]], Doc('\n                A list of tags to be applied to the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).\n                ')]=None, dependencies: Annotated[Optional[Sequence[Depends]], Doc('\n                A list of dependencies (using `Depends()`) to be applied to the\n                *path operation*.\n\n                Read more about it in the\n                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).\n                ')]=None, summary: Annotated[Optional[str], Doc('\n                A summary for the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, description: Annotated[Optional[str], Doc('\n                A description for the *path operation*.\n\n                If not provided, it will be extracted automatically from the docstring\n                of the *path operation function*.\n\n                It can contain Markdown.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, response_description: Annotated[str, Doc('\n                The description for the default response.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]='Successful Response', responses: Annotated[Optional[Dict[Union[int, str], Dict[str, Any]]], Doc('\n                Additional responses that could be returned by this *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, deprecated: Annotated[Optional[bool], Doc('\n                Mark this *path operation* as deprecated.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, operation_id: Annotated[Optional[str], Doc('\n                Custom operation ID to be used by this *path operation*.\n\n                By default, it is generated automatically.\n\n                If you provide a custom operation ID, you need to make sure it is\n                unique for the whole API.\n\n                You can customize the\n                operation ID generation with the parameter\n                `generate_unique_id_function` in the `FastAPI` class.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=None, response_model_include: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to include only certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_exclude: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to exclude certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_by_alias: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response model\n                should be serialized by alias when an alias is used.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=True, response_model_exclude_unset: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that were not set and\n                have their default values. This is different from\n                `response_model_exclude_defaults` in that if the fields are set,\n                they will be included in the response, even if the value is the same\n                as the default.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_defaults: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that have the same value\n                as the default. This is different from `response_model_exclude_unset`\n                in that if the fields are set but contain the same default values,\n                they will be excluded from the response.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_none: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data should\n                exclude fields set to `None`.\n\n                This is much simpler (less smart) than `response_model_exclude_unset`\n                and `response_model_exclude_defaults`. You probably want to use one of\n                those two instead of this one, as those allow returning `None` values\n                when it makes sense.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).\n                ')]=False, include_in_schema: Annotated[bool, Doc('\n                Include this *path operation* in the generated OpenAPI schema.\n\n                This affects the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).\n                ')]=True, response_class: Annotated[Type[Response], Doc('\n                Response class to be used for this *path operation*.\n\n                This will not be used if you return a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).\n                ')]=Default(JSONResponse), name: Annotated[Optional[str], Doc('\n                Name for this *path operation*. Only used internally.\n                ')]=None, callbacks: Annotated[Optional[List[BaseRoute]], Doc("\n                List of *path operations* that will be used as OpenAPI callbacks.\n\n                This is only for OpenAPI documentation, the callbacks won't be used\n                directly.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).\n                ")]=None, openapi_extra: Annotated[Optional[Dict[str, Any]], Doc('\n                Extra metadata to be included in the OpenAPI schema for this *path\n                operation*.\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).\n                ')]=None, generate_unique_id_function: Annotated[Callable[[routing.APIRoute], str], Doc('\n                Customize the function used to generate unique IDs for the *path\n                operations* shown in the generated OpenAPI.\n\n                This is particularly useful when automatically generating clients or\n                SDKs for your API.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=Default(generate_unique_id)) -> Callable[[DecoratedCallable], DecoratedCallable]:
         """
@@ -183,7 +207,31 @@ class FastAPI(Starlette):
             return {"message": "Item replaced", "id": item_id}
         ```
         """
-        pass
+        return self.router.put(
+            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,
+            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,
+            callbacks=callbacks,
+            openapi_extra=openapi_extra,
+            generate_unique_id_function=generate_unique_id_function,
+        )

     def post(self, path: Annotated[str, Doc('\n                The URL path to be used for this *path operation*.\n\n                For example, in `http://example.com/items`, the path is `/items`.\n                ')], *, response_model: Annotated[Any, Doc("\n                The type to use for the response.\n\n                It could be any valid Pydantic *field* type. So, it doesn't have to\n                be a Pydantic model, it could be other things, like a `list`, `dict`,\n                etc.\n\n                It will be used for:\n\n                * Documentation: the generated OpenAPI (and the UI at `/docs`) will\n                    show it as the response (JSON Schema).\n                * Serialization: you could return an arbitrary object and the\n                    `response_model` would be used to serialize that object into the\n                    corresponding JSON.\n                * Filtering: the JSON sent to the client will only contain the data\n                    (fields) defined in the `response_model`. If you returned an object\n                    that contains an attribute `password` but the `response_model` does\n                    not include that field, the JSON sent to the client would not have\n                    that `password`.\n                * Validation: whatever you return will be serialized with the\n                    `response_model`, converting any data as necessary to generate the\n                    corresponding JSON. But if the data in the object returned is not\n                    valid, that would mean a violation of the contract with the client,\n                    so it's an error from the API developer. So, FastAPI will raise an\n                    error and return a 500 error code (Internal Server Error).\n\n                Read more about it in the\n                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).\n                ")]=Default(None), status_code: Annotated[Optional[int], Doc('\n                The default status code to be used for the response.\n\n                You could override the status code by returning a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).\n                ')]=None, tags: Annotated[Optional[List[Union[str, Enum]]], Doc('\n                A list of tags to be applied to the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).\n                ')]=None, dependencies: Annotated[Optional[Sequence[Depends]], Doc('\n                A list of dependencies (using `Depends()`) to be applied to the\n                *path operation*.\n\n                Read more about it in the\n                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).\n                ')]=None, summary: Annotated[Optional[str], Doc('\n                A summary for the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, description: Annotated[Optional[str], Doc('\n                A description for the *path operation*.\n\n                If not provided, it will be extracted automatically from the docstring\n                of the *path operation function*.\n\n                It can contain Markdown.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, response_description: Annotated[str, Doc('\n                The description for the default response.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]='Successful Response', responses: Annotated[Optional[Dict[Union[int, str], Dict[str, Any]]], Doc('\n                Additional responses that could be returned by this *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, deprecated: Annotated[Optional[bool], Doc('\n                Mark this *path operation* as deprecated.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, operation_id: Annotated[Optional[str], Doc('\n                Custom operation ID to be used by this *path operation*.\n\n                By default, it is generated automatically.\n\n                If you provide a custom operation ID, you need to make sure it is\n                unique for the whole API.\n\n                You can customize the\n                operation ID generation with the parameter\n                `generate_unique_id_function` in the `FastAPI` class.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=None, response_model_include: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to include only certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_exclude: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to exclude certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_by_alias: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response model\n                should be serialized by alias when an alias is used.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=True, response_model_exclude_unset: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that were not set and\n                have their default values. This is different from\n                `response_model_exclude_defaults` in that if the fields are set,\n                they will be included in the response, even if the value is the same\n                as the default.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_defaults: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that have the same value\n                as the default. This is different from `response_model_exclude_unset`\n                in that if the fields are set but contain the same default values,\n                they will be excluded from the response.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_none: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data should\n                exclude fields set to `None`.\n\n                This is much simpler (less smart) than `response_model_exclude_unset`\n                and `response_model_exclude_defaults`. You probably want to use one of\n                those two instead of this one, as those allow returning `None` values\n                when it makes sense.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).\n                ')]=False, include_in_schema: Annotated[bool, Doc('\n                Include this *path operation* in the generated OpenAPI schema.\n\n                This affects the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).\n                ')]=True, response_class: Annotated[Type[Response], Doc('\n                Response class to be used for this *path operation*.\n\n                This will not be used if you return a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).\n                ')]=Default(JSONResponse), name: Annotated[Optional[str], Doc('\n                Name for this *path operation*. Only used internally.\n                ')]=None, callbacks: Annotated[Optional[List[BaseRoute]], Doc("\n                List of *path operations* that will be used as OpenAPI callbacks.\n\n                This is only for OpenAPI documentation, the callbacks won't be used\n                directly.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).\n                ")]=None, openapi_extra: Annotated[Optional[Dict[str, Any]], Doc('\n                Extra metadata to be included in the OpenAPI schema for this *path\n                operation*.\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).\n                ')]=None, generate_unique_id_function: Annotated[Callable[[routing.APIRoute], str], Doc('\n                Customize the function used to generate unique IDs for the *path\n                operations* shown in the generated OpenAPI.\n\n                This is particularly useful when automatically generating clients or\n                SDKs for your API.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=Default(generate_unique_id)) -> Callable[[DecoratedCallable], DecoratedCallable]:
         """
@@ -203,10 +251,34 @@ class FastAPI(Starlette):

         @app.post("/items/")
         def create_item(item: Item):
-            return {"message": "Item created"}
+            return {"message": "Item created", "item": item}
         ```
         """
-        pass
+        return self.router.post(
+            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,
+            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,
+            callbacks=callbacks,
+            openapi_extra=openapi_extra,
+            generate_unique_id_function=generate_unique_id_function,
+        )

     def delete(self, path: Annotated[str, Doc('\n                The URL path to be used for this *path operation*.\n\n                For example, in `http://example.com/items`, the path is `/items`.\n                ')], *, response_model: Annotated[Any, Doc("\n                The type to use for the response.\n\n                It could be any valid Pydantic *field* type. So, it doesn't have to\n                be a Pydantic model, it could be other things, like a `list`, `dict`,\n                etc.\n\n                It will be used for:\n\n                * Documentation: the generated OpenAPI (and the UI at `/docs`) will\n                    show it as the response (JSON Schema).\n                * Serialization: you could return an arbitrary object and the\n                    `response_model` would be used to serialize that object into the\n                    corresponding JSON.\n                * Filtering: the JSON sent to the client will only contain the data\n                    (fields) defined in the `response_model`. If you returned an object\n                    that contains an attribute `password` but the `response_model` does\n                    not include that field, the JSON sent to the client would not have\n                    that `password`.\n                * Validation: whatever you return will be serialized with the\n                    `response_model`, converting any data as necessary to generate the\n                    corresponding JSON. But if the data in the object returned is not\n                    valid, that would mean a violation of the contract with the client,\n                    so it's an error from the API developer. So, FastAPI will raise an\n                    error and return a 500 error code (Internal Server Error).\n\n                Read more about it in the\n                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).\n                ")]=Default(None), status_code: Annotated[Optional[int], Doc('\n                The default status code to be used for the response.\n\n                You could override the status code by returning a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).\n                ')]=None, tags: Annotated[Optional[List[Union[str, Enum]]], Doc('\n                A list of tags to be applied to the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).\n                ')]=None, dependencies: Annotated[Optional[Sequence[Depends]], Doc('\n                A list of dependencies (using `Depends()`) to be applied to the\n                *path operation*.\n\n                Read more about it in the\n                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).\n                ')]=None, summary: Annotated[Optional[str], Doc('\n                A summary for the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, description: Annotated[Optional[str], Doc('\n                A description for the *path operation*.\n\n                If not provided, it will be extracted automatically from the docstring\n                of the *path operation function*.\n\n                It can contain Markdown.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, response_description: Annotated[str, Doc('\n                The description for the default response.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]='Successful Response', responses: Annotated[Optional[Dict[Union[int, str], Dict[str, Any]]], Doc('\n                Additional responses that could be returned by this *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, deprecated: Annotated[Optional[bool], Doc('\n                Mark this *path operation* as deprecated.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, operation_id: Annotated[Optional[str], Doc('\n                Custom operation ID to be used by this *path operation*.\n\n                By default, it is generated automatically.\n\n                If you provide a custom operation ID, you need to make sure it is\n                unique for the whole API.\n\n                You can customize the\n                operation ID generation with the parameter\n                `generate_unique_id_function` in the `FastAPI` class.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=None, response_model_include: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to include only certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_exclude: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to exclude certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_by_alias: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response model\n                should be serialized by alias when an alias is used.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=True, response_model_exclude_unset: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that were not set and\n                have their default values. This is different from\n                `response_model_exclude_defaults` in that if the fields are set,\n                they will be included in the response, even if the value is the same\n                as the default.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_defaults: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that have the same value\n                as the default. This is different from `response_model_exclude_unset`\n                in that if the fields are set but contain the same default values,\n                they will be excluded from the response.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_none: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data should\n                exclude fields set to `None`.\n\n                This is much simpler (less smart) than `response_model_exclude_unset`\n                and `response_model_exclude_defaults`. You probably want to use one of\n                those two instead of this one, as those allow returning `None` values\n                when it makes sense.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).\n                ')]=False, include_in_schema: Annotated[bool, Doc('\n                Include this *path operation* in the generated OpenAPI schema.\n\n                This affects the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).\n                ')]=True, response_class: Annotated[Type[Response], Doc('\n                Response class to be used for this *path operation*.\n\n                This will not be used if you return a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).\n                ')]=Default(JSONResponse), name: Annotated[Optional[str], Doc('\n                Name for this *path operation*. Only used internally.\n                ')]=None, callbacks: Annotated[Optional[List[BaseRoute]], Doc("\n                List of *path operations* that will be used as OpenAPI callbacks.\n\n                This is only for OpenAPI documentation, the callbacks won't be used\n                directly.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).\n                ")]=None, openapi_extra: Annotated[Optional[Dict[str, Any]], Doc('\n                Extra metadata to be included in the OpenAPI schema for this *path\n                operation*.\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).\n                ')]=None, generate_unique_id_function: Annotated[Callable[[routing.APIRoute], str], Doc('\n                Customize the function used to generate unique IDs for the *path\n                operations* shown in the generated OpenAPI.\n\n                This is particularly useful when automatically generating clients or\n                SDKs for your API.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=Default(generate_unique_id)) -> Callable[[DecoratedCallable], DecoratedCallable]:
         """
@@ -224,7 +296,31 @@ class FastAPI(Starlette):
             return {"message": "Item deleted"}
         ```
         """
-        pass
+        return self.router.delete(
+            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,
+            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,
+            callbacks=callbacks,
+            openapi_extra=openapi_extra,
+            generate_unique_id_function=generate_unique_id_function,
+        )

     def options(self, path: Annotated[str, Doc('\n                The URL path to be used for this *path operation*.\n\n                For example, in `http://example.com/items`, the path is `/items`.\n                ')], *, response_model: Annotated[Any, Doc("\n                The type to use for the response.\n\n                It could be any valid Pydantic *field* type. So, it doesn't have to\n                be a Pydantic model, it could be other things, like a `list`, `dict`,\n                etc.\n\n                It will be used for:\n\n                * Documentation: the generated OpenAPI (and the UI at `/docs`) will\n                    show it as the response (JSON Schema).\n                * Serialization: you could return an arbitrary object and the\n                    `response_model` would be used to serialize that object into the\n                    corresponding JSON.\n                * Filtering: the JSON sent to the client will only contain the data\n                    (fields) defined in the `response_model`. If you returned an object\n                    that contains an attribute `password` but the `response_model` does\n                    not include that field, the JSON sent to the client would not have\n                    that `password`.\n                * Validation: whatever you return will be serialized with the\n                    `response_model`, converting any data as necessary to generate the\n                    corresponding JSON. But if the data in the object returned is not\n                    valid, that would mean a violation of the contract with the client,\n                    so it's an error from the API developer. So, FastAPI will raise an\n                    error and return a 500 error code (Internal Server Error).\n\n                Read more about it in the\n                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).\n                ")]=Default(None), status_code: Annotated[Optional[int], Doc('\n                The default status code to be used for the response.\n\n                You could override the status code by returning a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).\n                ')]=None, tags: Annotated[Optional[List[Union[str, Enum]]], Doc('\n                A list of tags to be applied to the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).\n                ')]=None, dependencies: Annotated[Optional[Sequence[Depends]], Doc('\n                A list of dependencies (using `Depends()`) to be applied to the\n                *path operation*.\n\n                Read more about it in the\n                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).\n                ')]=None, summary: Annotated[Optional[str], Doc('\n                A summary for the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, description: Annotated[Optional[str], Doc('\n                A description for the *path operation*.\n\n                If not provided, it will be extracted automatically from the docstring\n                of the *path operation function*.\n\n                It can contain Markdown.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, response_description: Annotated[str, Doc('\n                The description for the default response.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]='Successful Response', responses: Annotated[Optional[Dict[Union[int, str], Dict[str, Any]]], Doc('\n                Additional responses that could be returned by this *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, deprecated: Annotated[Optional[bool], Doc('\n                Mark this *path operation* as deprecated.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, operation_id: Annotated[Optional[str], Doc('\n                Custom operation ID to be used by this *path operation*.\n\n                By default, it is generated automatically.\n\n                If you provide a custom operation ID, you need to make sure it is\n                unique for the whole API.\n\n                You can customize the\n                operation ID generation with the parameter\n                `generate_unique_id_function` in the `FastAPI` class.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=None, response_model_include: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to include only certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_exclude: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to exclude certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_by_alias: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response model\n                should be serialized by alias when an alias is used.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=True, response_model_exclude_unset: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that were not set and\n                have their default values. This is different from\n                `response_model_exclude_defaults` in that if the fields are set,\n                they will be included in the response, even if the value is the same\n                as the default.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_defaults: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that have the same value\n                as the default. This is different from `response_model_exclude_unset`\n                in that if the fields are set but contain the same default values,\n                they will be excluded from the response.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_none: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data should\n                exclude fields set to `None`.\n\n                This is much simpler (less smart) than `response_model_exclude_unset`\n                and `response_model_exclude_defaults`. You probably want to use one of\n                those two instead of this one, as those allow returning `None` values\n                when it makes sense.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).\n                ')]=False, include_in_schema: Annotated[bool, Doc('\n                Include this *path operation* in the generated OpenAPI schema.\n\n                This affects the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).\n                ')]=True, response_class: Annotated[Type[Response], Doc('\n                Response class to be used for this *path operation*.\n\n                This will not be used if you return a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).\n                ')]=Default(JSONResponse), name: Annotated[Optional[str], Doc('\n                Name for this *path operation*. Only used internally.\n                ')]=None, callbacks: Annotated[Optional[List[BaseRoute]], Doc("\n                List of *path operations* that will be used as OpenAPI callbacks.\n\n                This is only for OpenAPI documentation, the callbacks won't be used\n                directly.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).\n                ")]=None, openapi_extra: Annotated[Optional[Dict[str, Any]], Doc('\n                Extra metadata to be included in the OpenAPI schema for this *path\n                operation*.\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).\n                ')]=None, generate_unique_id_function: Annotated[Callable[[routing.APIRoute], str], Doc('\n                Customize the function used to generate unique IDs for the *path\n                operations* shown in the generated OpenAPI.\n\n                This is particularly useful when automatically generating clients or\n                SDKs for your API.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=Default(generate_unique_id)) -> Callable[[DecoratedCallable], DecoratedCallable]:
         """
@@ -238,11 +334,35 @@ class FastAPI(Starlette):
         app = FastAPI()

         @app.options("/items/")
-        def get_item_options():
-            return {"additions": ["Aji", "Guacamole"]}
+        def options_items():
+            return {"methods": ["GET", "POST", "PUT", "DELETE"]}
         ```
         """
-        pass
+        return self.router.options(
+            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,
+            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,
+            callbacks=callbacks,
+            openapi_extra=openapi_extra,
+            generate_unique_id_function=generate_unique_id_function,
+        )

     def head(self, path: Annotated[str, Doc('\n                The URL path to be used for this *path operation*.\n\n                For example, in `http://example.com/items`, the path is `/items`.\n                ')], *, response_model: Annotated[Any, Doc("\n                The type to use for the response.\n\n                It could be any valid Pydantic *field* type. So, it doesn't have to\n                be a Pydantic model, it could be other things, like a `list`, `dict`,\n                etc.\n\n                It will be used for:\n\n                * Documentation: the generated OpenAPI (and the UI at `/docs`) will\n                    show it as the response (JSON Schema).\n                * Serialization: you could return an arbitrary object and the\n                    `response_model` would be used to serialize that object into the\n                    corresponding JSON.\n                * Filtering: the JSON sent to the client will only contain the data\n                    (fields) defined in the `response_model`. If you returned an object\n                    that contains an attribute `password` but the `response_model` does\n                    not include that field, the JSON sent to the client would not have\n                    that `password`.\n                * Validation: whatever you return will be serialized with the\n                    `response_model`, converting any data as necessary to generate the\n                    corresponding JSON. But if the data in the object returned is not\n                    valid, that would mean a violation of the contract with the client,\n                    so it's an error from the API developer. So, FastAPI will raise an\n                    error and return a 500 error code (Internal Server Error).\n\n                Read more about it in the\n                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).\n                ")]=Default(None), status_code: Annotated[Optional[int], Doc('\n                The default status code to be used for the response.\n\n                You could override the status code by returning a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).\n                ')]=None, tags: Annotated[Optional[List[Union[str, Enum]]], Doc('\n                A list of tags to be applied to the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).\n                ')]=None, dependencies: Annotated[Optional[Sequence[Depends]], Doc('\n                A list of dependencies (using `Depends()`) to be applied to the\n                *path operation*.\n\n                Read more about it in the\n                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).\n                ')]=None, summary: Annotated[Optional[str], Doc('\n                A summary for the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, description: Annotated[Optional[str], Doc('\n                A description for the *path operation*.\n\n                If not provided, it will be extracted automatically from the docstring\n                of the *path operation function*.\n\n                It can contain Markdown.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, response_description: Annotated[str, Doc('\n                The description for the default response.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]='Successful Response', responses: Annotated[Optional[Dict[Union[int, str], Dict[str, Any]]], Doc('\n                Additional responses that could be returned by this *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, deprecated: Annotated[Optional[bool], Doc('\n                Mark this *path operation* as deprecated.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, operation_id: Annotated[Optional[str], Doc('\n                Custom operation ID to be used by this *path operation*.\n\n                By default, it is generated automatically.\n\n                If you provide a custom operation ID, you need to make sure it is\n                unique for the whole API.\n\n                You can customize the\n                operation ID generation with the parameter\n                `generate_unique_id_function` in the `FastAPI` class.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=None, response_model_include: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to include only certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_exclude: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to exclude certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_by_alias: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response model\n                should be serialized by alias when an alias is used.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=True, response_model_exclude_unset: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that were not set and\n                have their default values. This is different from\n                `response_model_exclude_defaults` in that if the fields are set,\n                they will be included in the response, even if the value is the same\n                as the default.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_defaults: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that have the same value\n                as the default. This is different from `response_model_exclude_unset`\n                in that if the fields are set but contain the same default values,\n                they will be excluded from the response.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_none: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data should\n                exclude fields set to `None`.\n\n                This is much simpler (less smart) than `response_model_exclude_unset`\n                and `response_model_exclude_defaults`. You probably want to use one of\n                those two instead of this one, as those allow returning `None` values\n                when it makes sense.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).\n                ')]=False, include_in_schema: Annotated[bool, Doc('\n                Include this *path operation* in the generated OpenAPI schema.\n\n                This affects the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).\n                ')]=True, response_class: Annotated[Type[Response], Doc('\n                Response class to be used for this *path operation*.\n\n                This will not be used if you return a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).\n                ')]=Default(JSONResponse), name: Annotated[Optional[str], Doc('\n                Name for this *path operation*. Only used internally.\n                ')]=None, callbacks: Annotated[Optional[List[BaseRoute]], Doc("\n                List of *path operations* that will be used as OpenAPI callbacks.\n\n                This is only for OpenAPI documentation, the callbacks won't be used\n                directly.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).\n                ")]=None, openapi_extra: Annotated[Optional[Dict[str, Any]], Doc('\n                Extra metadata to be included in the OpenAPI schema for this *path\n                operation*.\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).\n                ')]=None, generate_unique_id_function: Annotated[Callable[[routing.APIRoute], str], Doc('\n                Customize the function used to generate unique IDs for the *path\n                operations* shown in the generated OpenAPI.\n\n                This is particularly useful when automatically generating clients or\n                SDKs for your API.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=Default(generate_unique_id)) -> Callable[[DecoratedCallable], DecoratedCallable]:
         """
@@ -256,11 +376,35 @@ class FastAPI(Starlette):
         app = FastAPI()

         @app.head("/items/", status_code=204)
-        def get_items_headers(response: Response):
-            response.headers["X-Cat-Dog"] = "Alone in the world"
+        def head_items():
+            return Response(headers={"X-Total-Count": "100"})
         ```
         """
-        pass
+        return self.router.head(
+            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,
+            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,
+            callbacks=callbacks,
+            openapi_extra=openapi_extra,
+            generate_unique_id_function=generate_unique_id_function,
+        )

     def patch(self, path: Annotated[str, Doc('\n                The URL path to be used for this *path operation*.\n\n                For example, in `http://example.com/items`, the path is `/items`.\n                ')], *, response_model: Annotated[Any, Doc("\n                The type to use for the response.\n\n                It could be any valid Pydantic *field* type. So, it doesn't have to\n                be a Pydantic model, it could be other things, like a `list`, `dict`,\n                etc.\n\n                It will be used for:\n\n                * Documentation: the generated OpenAPI (and the UI at `/docs`) will\n                    show it as the response (JSON Schema).\n                * Serialization: you could return an arbitrary object and the\n                    `response_model` would be used to serialize that object into the\n                    corresponding JSON.\n                * Filtering: the JSON sent to the client will only contain the data\n                    (fields) defined in the `response_model`. If you returned an object\n                    that contains an attribute `password` but the `response_model` does\n                    not include that field, the JSON sent to the client would not have\n                    that `password`.\n                * Validation: whatever you return will be serialized with the\n                    `response_model`, converting any data as necessary to generate the\n                    corresponding JSON. But if the data in the object returned is not\n                    valid, that would mean a violation of the contract with the client,\n                    so it's an error from the API developer. So, FastAPI will raise an\n                    error and return a 500 error code (Internal Server Error).\n\n                Read more about it in the\n                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).\n                ")]=Default(None), status_code: Annotated[Optional[int], Doc('\n                The default status code to be used for the response.\n\n                You could override the status code by returning a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).\n                ')]=None, tags: Annotated[Optional[List[Union[str, Enum]]], Doc('\n                A list of tags to be applied to the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).\n                ')]=None, dependencies: Annotated[Optional[Sequence[Depends]], Doc('\n                A list of dependencies (using `Depends()`) to be applied to the\n                *path operation*.\n\n                Read more about it in the\n                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).\n                ')]=None, summary: Annotated[Optional[str], Doc('\n                A summary for the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, description: Annotated[Optional[str], Doc('\n                A description for the *path operation*.\n\n                If not provided, it will be extracted automatically from the docstring\n                of the *path operation function*.\n\n                It can contain Markdown.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, response_description: Annotated[str, Doc('\n                The description for the default response.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]='Successful Response', responses: Annotated[Optional[Dict[Union[int, str], Dict[str, Any]]], Doc('\n                Additional responses that could be returned by this *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, deprecated: Annotated[Optional[bool], Doc('\n                Mark this *path operation* as deprecated.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, operation_id: Annotated[Optional[str], Doc('\n                Custom operation ID to be used by this *path operation*.\n\n                By default, it is generated automatically.\n\n                If you provide a custom operation ID, you need to make sure it is\n                unique for the whole API.\n\n                You can customize the\n                operation ID generation with the parameter\n                `generate_unique_id_function` in the `FastAPI` class.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=None, response_model_include: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to include only certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_exclude: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to exclude certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_by_alias: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response model\n                should be serialized by alias when an alias is used.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=True, response_model_exclude_unset: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that were not set and\n                have their default values. This is different from\n                `response_model_exclude_defaults` in that if the fields are set,\n                they will be included in the response, even if the value is the same\n                as the default.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_defaults: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that have the same value\n                as the default. This is different from `response_model_exclude_unset`\n                in that if the fields are set but contain the same default values,\n                they will be excluded from the response.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_none: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data should\n                exclude fields set to `None`.\n\n                This is much simpler (less smart) than `response_model_exclude_unset`\n                and `response_model_exclude_defaults`. You probably want to use one of\n                those two instead of this one, as those allow returning `None` values\n                when it makes sense.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).\n                ')]=False, include_in_schema: Annotated[bool, Doc('\n                Include this *path operation* in the generated OpenAPI schema.\n\n                This affects the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).\n                ')]=True, response_class: Annotated[Type[Response], Doc('\n                Response class to be used for this *path operation*.\n\n                This will not be used if you return a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).\n                ')]=Default(JSONResponse), name: Annotated[Optional[str], Doc('\n                Name for this *path operation*. Only used internally.\n                ')]=None, callbacks: Annotated[Optional[List[BaseRoute]], Doc("\n                List of *path operations* that will be used as OpenAPI callbacks.\n\n                This is only for OpenAPI documentation, the callbacks won't be used\n                directly.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).\n                ")]=None, openapi_extra: Annotated[Optional[Dict[str, Any]], Doc('\n                Extra metadata to be included in the OpenAPI schema for this *path\n                operation*.\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).\n                ')]=None, generate_unique_id_function: Annotated[Callable[[routing.APIRoute], str], Doc('\n                Customize the function used to generate unique IDs for the *path\n                operations* shown in the generated OpenAPI.\n\n                This is particularly useful when automatically generating clients or\n                SDKs for your API.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=Default(generate_unique_id)) -> Callable[[DecoratedCallable], DecoratedCallable]:
         """
@@ -278,12 +422,36 @@ class FastAPI(Starlette):

         app = FastAPI()

-        @app.patch("/items/")
-        def update_item(item: Item):
-            return {"message": "Item updated in place"}
+        @app.patch("/items/{item_id}")
+        def update_item(item_id: str, item: Item):
+            return {"item_id": item_id, "item": item}
         ```
         """
-        pass
+        return self.router.patch(
+            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,
+            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,
+            callbacks=callbacks,
+            openapi_extra=openapi_extra,
+            generate_unique_id_function=generate_unique_id_function,
+        )

     def trace(self, path: Annotated[str, Doc('\n                The URL path to be used for this *path operation*.\n\n                For example, in `http://example.com/items`, the path is `/items`.\n                ')], *, response_model: Annotated[Any, Doc("\n                The type to use for the response.\n\n                It could be any valid Pydantic *field* type. So, it doesn't have to\n                be a Pydantic model, it could be other things, like a `list`, `dict`,\n                etc.\n\n                It will be used for:\n\n                * Documentation: the generated OpenAPI (and the UI at `/docs`) will\n                    show it as the response (JSON Schema).\n                * Serialization: you could return an arbitrary object and the\n                    `response_model` would be used to serialize that object into the\n                    corresponding JSON.\n                * Filtering: the JSON sent to the client will only contain the data\n                    (fields) defined in the `response_model`. If you returned an object\n                    that contains an attribute `password` but the `response_model` does\n                    not include that field, the JSON sent to the client would not have\n                    that `password`.\n                * Validation: whatever you return will be serialized with the\n                    `response_model`, converting any data as necessary to generate the\n                    corresponding JSON. But if the data in the object returned is not\n                    valid, that would mean a violation of the contract with the client,\n                    so it's an error from the API developer. So, FastAPI will raise an\n                    error and return a 500 error code (Internal Server Error).\n\n                Read more about it in the\n                [FastAPI docs for Response Model](https://fastapi.tiangolo.com/tutorial/response-model/).\n                ")]=Default(None), status_code: Annotated[Optional[int], Doc('\n                The default status code to be used for the response.\n\n                You could override the status code by returning a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Response Status Code](https://fastapi.tiangolo.com/tutorial/response-status-code/).\n                ')]=None, tags: Annotated[Optional[List[Union[str, Enum]]], Doc('\n                A list of tags to be applied to the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags).\n                ')]=None, dependencies: Annotated[Optional[Sequence[Depends]], Doc('\n                A list of dependencies (using `Depends()`) to be applied to the\n                *path operation*.\n\n                Read more about it in the\n                [FastAPI docs for Dependencies in path operation decorators](https://fastapi.tiangolo.com/tutorial/dependencies/dependencies-in-path-operation-decorators/).\n                ')]=None, summary: Annotated[Optional[str], Doc('\n                A summary for the *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, description: Annotated[Optional[str], Doc('\n                A description for the *path operation*.\n\n                If not provided, it will be extracted automatically from the docstring\n                of the *path operation function*.\n\n                It can contain Markdown.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Configuration](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/).\n                ')]=None, response_description: Annotated[str, Doc('\n                The description for the default response.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]='Successful Response', responses: Annotated[Optional[Dict[Union[int, str], Dict[str, Any]]], Doc('\n                Additional responses that could be returned by this *path operation*.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, deprecated: Annotated[Optional[bool], Doc('\n                Mark this *path operation* as deprecated.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n                ')]=None, operation_id: Annotated[Optional[str], Doc('\n                Custom operation ID to be used by this *path operation*.\n\n                By default, it is generated automatically.\n\n                If you provide a custom operation ID, you need to make sure it is\n                unique for the whole API.\n\n                You can customize the\n                operation ID generation with the parameter\n                `generate_unique_id_function` in the `FastAPI` class.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=None, response_model_include: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to include only certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_exclude: Annotated[Optional[IncEx], Doc('\n                Configuration passed to Pydantic to exclude certain fields in the\n                response data.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=None, response_model_by_alias: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response model\n                should be serialized by alias when an alias is used.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_include-and-response_model_exclude).\n                ')]=True, response_model_exclude_unset: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that were not set and\n                have their default values. This is different from\n                `response_model_exclude_defaults` in that if the fields are set,\n                they will be included in the response, even if the value is the same\n                as the default.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_defaults: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data\n                should have all the fields, including the ones that have the same value\n                as the default. This is different from `response_model_exclude_unset`\n                in that if the fields are set but contain the same default values,\n                they will be excluded from the response.\n\n                When `True`, default values are omitted from the response.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#use-the-response_model_exclude_unset-parameter).\n                ')]=False, response_model_exclude_none: Annotated[bool, Doc('\n                Configuration passed to Pydantic to define if the response data should\n                exclude fields set to `None`.\n\n                This is much simpler (less smart) than `response_model_exclude_unset`\n                and `response_model_exclude_defaults`. You probably want to use one of\n                those two instead of this one, as those allow returning `None` values\n                when it makes sense.\n\n                Read more about it in the\n                [FastAPI docs for Response Model - Return Type](https://fastapi.tiangolo.com/tutorial/response-model/#response_model_exclude_none).\n                ')]=False, include_in_schema: Annotated[bool, Doc('\n                Include this *path operation* in the generated OpenAPI schema.\n\n                This affects the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for Query Parameters and String Validations](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).\n                ')]=True, response_class: Annotated[Type[Response], Doc('\n                Response class to be used for this *path operation*.\n\n                This will not be used if you return a response directly.\n\n                Read more about it in the\n                [FastAPI docs for Custom Response - HTML, Stream, File, others](https://fastapi.tiangolo.com/advanced/custom-response/#redirectresponse).\n                ')]=Default(JSONResponse), name: Annotated[Optional[str], Doc('\n                Name for this *path operation*. Only used internally.\n                ')]=None, callbacks: Annotated[Optional[List[BaseRoute]], Doc("\n                List of *path operations* that will be used as OpenAPI callbacks.\n\n                This is only for OpenAPI documentation, the callbacks won't be used\n                directly.\n\n                It will be added to the generated OpenAPI (e.g. visible at `/docs`).\n\n                Read more about it in the\n                [FastAPI docs for OpenAPI Callbacks](https://fastapi.tiangolo.com/advanced/openapi-callbacks/).\n                ")]=None, openapi_extra: Annotated[Optional[Dict[str, Any]], Doc('\n                Extra metadata to be included in the OpenAPI schema for this *path\n                operation*.\n\n                Read more about it in the\n                [FastAPI docs for Path Operation Advanced Configuration](https://fastapi.tiangolo.com/advanced/path-operation-advanced-configuration/#custom-openapi-path-operation-schema).\n                ')]=None, generate_unique_id_function: Annotated[Callable[[routing.APIRoute], str], Doc('\n                Customize the function used to generate unique IDs for the *path\n                operations* shown in the generated OpenAPI.\n\n                This is particularly useful when automatically generating clients or\n                SDKs for your API.\n\n                Read more about it in the\n                [FastAPI docs about how to Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/#custom-generate-unique-id-function).\n                ')]=Default(generate_unique_id)) -> Callable[[DecoratedCallable], DecoratedCallable]:
         """
@@ -292,16 +460,41 @@ class FastAPI(Starlette):
         ## Example

         ```python
-        from fastapi import FastAPI
+        from fastapi import FastAPI, Request

         app = FastAPI()

-        @app.put("/items/{item_id}")
-        def trace_item(item_id: str):
-            return None
+        @app.trace("/")
+        async def trace(request: Request):
+            headers = {k: v for k, v in request.headers.items()}
+            return headers
         ```
         """
-        pass
+        return self.router.trace(
+            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,
+            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,
+            callbacks=callbacks,
+            openapi_extra=openapi_extra,
+            generate_unique_id_function=generate_unique_id_function,
+        )

     @deprecated('\n        on_event is deprecated, use lifespan event handlers instead.\n\n        Read more about it in the\n        [FastAPI docs for Lifespan Events](https://fastapi.tiangolo.com/advanced/events/).\n        ')
     def on_event(self, event_type: Annotated[str, Doc('\n                The type of event. `startup` or `shutdown`.\n                ')]) -> Callable[[DecoratedCallable], DecoratedCallable]:
@@ -373,4 +566,4 @@ class FastAPI(Starlette):
             )
         ```
         """
-        pass
\ No newline at end of file
+        pass