contact ๐| ๐ข | ๐ | ๐ |
|---|---|---|
name | str | โ ๐ ๐ง ๐จโ๐ผ/๐ข. |
url | str | ๐ โ ๐ง โน. ๐ ๐ ๐. |
email | str | ๐ง ๐ข ๐ง ๐จโ๐ผ/๐ข. ๐ ๐ ๐ง ๐ข. |
license_info ๐| ๐ข | ๐ | ๐ |
|---|---|---|
name | str | ๐ (๐ฅ license_info โ). ๐ ๐ โ๏ธ ๐ ๏ธ. |
url | str | ๐ ๐ โ๏ธ ๐ ๏ธ. ๐ ๐ ๐. |
## ๐ ๐
๐ ๐ช ๐ฎ ๐ ๐ ๐ ๐ โ๏ธ ๐ช ๐ โก ๐ ๏ธ โฎ๏ธ ๐ข `openapi_tags`.
โซ๏ธ โ ๐ โ 1๏ธโฃ ๐ ๐ ๐.
๐ ๐ ๐ช ๐:
* `name` (**โ**): `str` โฎ๏ธ ๐ ๐ ๐ โ๏ธ `tags` ๐ข ๐ *โก ๐ ๏ธ* & `APIRouter`โ.
* `description`: `str` โฎ๏ธ ๐ ๐ ๐. โซ๏ธ ๐ช โ๏ธ โ & ๐ ๐ฆ ๐ฉบ ๐.
* `externalDocs`: `dict` ๐ฌ ๐ข ๐งพ โฎ๏ธ:
* `description`: `str` โฎ๏ธ ๐ ๐ ๐ข ๐ฉบ.
* `url` (**โ**): `str` โฎ๏ธ ๐ ๐ข ๐งพ.
### โ ๐ ๐
โก๏ธ ๐ ๐ ๐ผ โฎ๏ธ ๐ `users` & `items`.
โ ๐ ๐ ๐ & ๐ถโโ๏ธ โซ๏ธ `openapi_tags` ๐ข:
{* ../../docs_src/metadata/tutorial004.py hl[3:16,18] *}
๐ ๐ ๐ ๐ช โ๏ธ โ ๐ ๐, ๐ผ "๐ณ" ๐ ๐ฆ ๐ฆ (**๐ณ**) & "๐" ๐ ๐ฆ โ (_๐_).
/// tip
๐ ๐ซ โ๏ธ ๐ฎ ๐ ๐ ๐ ๐ ๐ โ๏ธ.
///
### โ๏ธ ๐ ๐
โ๏ธ `tags` ๐ข โฎ๏ธ ๐ *โก ๐ ๏ธ* (& `APIRouter`โ) ๐ ๏ธ ๐ซ ๐ ๐:
{* ../../docs_src/metadata/tutorial004.py hl[21,26] *}
/// info
โ ๐
๐ ๐ [โก ๐ ๏ธ ๐ณ](path-operation-configuration.md#_3){.internal-link target=_blank}.
///
### โ
๐ฉบ
๐, ๐ฅ ๐ โ
๐ฉบ, ๐ซ ๐ ๐ฆ ๐ ๐ ๐:
### โ ๐
โ ๐ ๐ ๐ ๐ ๐ฌ โ ๐ฆ ๐ฉบ ๐.
๐ผ, โ๏ธ `users` ๐ ๐ถ โฎ๏ธ `items` ๐ค โ, โซ๏ธ ๐ฆ โญ ๐ซ, โฉ๏ธ ๐ฅ ๐ฎ ๐ซ ๐ ๐ฅ ๐ ๐.
## ๐ ๐
๐ข, ๐ ๐ ๐ฆ `/openapi.json`.
โ๏ธ ๐ ๐ช ๐ โซ๏ธ โฎ๏ธ ๐ข `openapi_url`.
๐ผ, โ โซ๏ธ ๐ฆ `/api/v1/openapi.json`:
{* ../../docs_src/metadata/tutorial002.py hl[3] *}
๐ฅ ๐ ๐ โ ๐ ๐ ๐ ๐ ๐ช โ `openapi_url=None`, ๐ ๐ โ ๐งพ ๐ฉโ๐ป ๐ข ๐ โ๏ธ โซ๏ธ.
## ๐ฉบ ๐
๐ ๐ช ๐ 2๏ธโฃ ๐งพ ๐ฉโ๐ป ๐ข ๐:
* **๐ฆ ๐**: ๐ฆ `/docs`.
* ๐ ๐ช โ ๐ฎ ๐ โฎ๏ธ ๐ข `docs_url`.
* ๐ ๐ช โ โซ๏ธ โ `docs_url=None`.
* **๐**: ๐ฆ `/redoc`.
* ๐ ๐ช โ ๐ฎ ๐ โฎ๏ธ ๐ข `redoc_url`.
* ๐ ๐ช โ โซ๏ธ โ `redoc_url=None`.
๐ผ, โ ๐ฆ ๐ ๐ฆ `/documentation` & โ ๐:
{* ../../docs_src/metadata/tutorial003.py hl[3] *}