# โ ๐
!!! warning
๐ ๐ ๐ง โ. ๐ ๐ฒ ๐ช ๐ถ โซ๏ธ.
๐ฅ ๐ ๐ ๐ฐ - ๐ฉโ๐ป ๐ฆฎ, ๐ ๐ช ๐ฒ ๐ถ ๐ ๐.
๐ฅ ๐ โช ๐ญ ๐ ๐ ๐ช ๐ ๐ ๐ ๐, ๐ฃ ๐.
๐ค ๐ผ ๐โ ๐ ๐ช ๐ช ๐ ๐ ๐ ๐.
๐ ๐ ๐ ๐ ๐ โ.
## ๐ ๐ ๏ธ
๐ (๐ข) ๐ ๏ธ, โฉ.
`FastAPI` ๐ธ (๐) โ๏ธ `.openapi()` ๐ฉโ๐ฌ ๐ ๐ ๐จ ๐ ๐.
๐ ๐ธ ๐ ๐, *โก ๐ ๏ธ* `/openapi.json` (โ๏ธ โซ๏ธโ ๐ โ ๐ `openapi_url`) ยฎ.
โซ๏ธ ๐จ ๐ป ๐จ โฎ๏ธ ๐ ๐ธ `.openapi()` ๐ฉโ๐ฌ.
๐ข, โซ๏ธโ ๐ฉโ๐ฌ `.openapi()` ๐จ โ
๐ `.openapi_schema` ๐ ๐ฅ โซ๏ธ โ๏ธ ๐ & ๐จ ๐ซ.
๐ฅ โซ๏ธ ๐ซ, โซ๏ธ ๐ ๐ซ โ๏ธ ๐ ๐ข `fastapi.openapi.utils.get_openapi`.
& ๐ ๐ข `get_openapi()` ๐จ ๐ข:
* `title`: ๐ ๐, ๐ฆ ๐ฉบ.
* `version`: โฌ ๐ ๐ ๏ธ, โ
`2.5.0`.
* `openapi_version`: โฌ ๐ ๐ง โ๏ธ. ๐ข, โช: `3.0.2`.
* `description`: ๐ ๐ ๐ ๏ธ.
* `routes`: ๐ ๐ฃ, ๐ซ ๐ ยฎ *โก ๐ ๏ธ*. ๐ซ โ โช๏ธโก๏ธ `app.routes`.
## ๐ ๐ข
โ๏ธ โน ๐, ๐ ๐ช โ๏ธ ๐ ๐ ๐ข ๐ ๐ ๐ & ๐ ๐ ๐ ๐ ๐ ๐ช.
๐ผ, โก๏ธ ๐ฎ ๐ ๐ โ ๐ ๐ ๐ฑ.
### ๐ **FastAPI**
๐ฅ, โ ๐ ๐ **FastAPI** ๐ธ ๐:
```Python hl_lines="1 4 7-9"
{!../../../docs_src/extending_openapi/tutorial001.py!}
```
### ๐ ๐ ๐
โคด๏ธ, โ๏ธ ๐ ๐ ๐ข ๐ ๐ ๐, ๐ `custom_openapi()` ๐ข:
```Python hl_lines="2 15-20"
{!../../../docs_src/extending_openapi/tutorial001.py!}
```
### ๐ ๐ ๐
๐ ๐ ๐ช ๐ฎ ๐ โ, โ ๐ `x-logo` `info` "๐" ๐ ๐:
```Python hl_lines="21-23"
{!../../../docs_src/extending_openapi/tutorial001.py!}
```
### ๐พ ๐ ๐
๐ ๐ช โ๏ธ ๐ `.openapi_schema` "๐พ", ๐ช ๐ ๐ ๐.
๐ ๐, ๐ ๐ธ ๐ ๐ซ โ๏ธ ๐ ๐ ๐ ๐ฐ ๐ฉโ๐ป ๐ ๐ ๐ ๏ธ ๐ฉบ.
โซ๏ธ ๐ ๐ ๐ด ๐, & โคด๏ธ ๐ ๐พ ๐ ๐ โ๏ธ โญ ๐จ.
```Python hl_lines="13-14 24-25"
{!../../../docs_src/extending_openapi/tutorial001.py!}
```
### ๐ ๐ฉโ๐ฌ
๐ ๐ ๐ช โ `.openapi()` ๐ฉโ๐ฌ โฎ๏ธ ๐ ๐ ๐ข.
```Python hl_lines="28"
{!../../../docs_src/extending_openapi/tutorial001.py!}
```
### โ
โซ๏ธ
๐ ๐ ๐ถ http://127.0.0.1:8000/redoc ๐ ๐ ๐ ๐ ๐ โ๏ธ ๐ ๐ ๐ฑ (๐ ๐ผ, **FastAPI**'โ ๐ฑ):