實現前的效果
那么如何實現呢,第一種方式如下:
from routers.items import item_router
from routers.users import user_router"""
自定義FastApi應用中的元數據配置Title:在 OpenAPI 和自動 API 文檔用戶界面中作為 API 的標題/名稱使用。Description:在 OpenAPI 和自動 API 文檔用戶界面中用作 API 的描述。Version:API 版本,例如 v2 或者 2.5.0。
"""from fastapi import FastAPI# 實現方式1
app = FastAPI(title="這是測試Title",description="這是測試description",version="這是測試version"
)app.include_router(user_router, prefix="/u", tags=["users"])
app.include_router(item_router, prefix="/i", tags=["items"])
實現后的效果
你也可以使用參數 openapi_tags,為用于分組路徑操作的不同標簽添加額外的元數據。
它接受一個列表,這個列表包含每個標簽對應的一個字典。
每個字典可以包含:
- name(必要):一個 str,它與路徑操作和 APIRouter 中使用的 tags 參數有相同的標簽名。
- description:一個用于簡短描述標簽的 str。它支持 Markdown 并且會在文檔用戶界面中顯示。
- externalDocs:一個描述外部文檔的 dict:
-
- description:用于簡短描述外部文檔的 str。
- url(必要):外部文檔的 URL str。?
使用方式
from routers.items import item_router
from routers.users import user_router"""
自定義FastApi應用中的元數據配置Title:在 OpenAPI 和自動 API 文檔用戶界面中作為 API 的標題/名稱使用。Description:在 OpenAPI 和自動 API 文檔用戶界面中用作 API 的描述。Version:API 版本,例如 v2 或者 2.5.0。
"""from fastapi import FastAPI# 實現方式2
tags_metadata = [{"name": "這類似第一種方式的title","description": """這類似第一種方式的description"""},{"name": "items","description": "創建和查找items","externalDocs": {"description": "這是使用詳細文檔","url": "http://localhost:8000/i/items"}}
]app = FastAPI(openapi_tags=tags_metadata
)app.include_router(user_router, prefix="/u", tags=["users"])
app.include_router(item_router, prefix="/i", tags=["items"])
實現效果如下,和第一種方式有些許區別
自定義設置文檔url地址
app = FastAPI(openapi_tags=tags_metadata,docs_url="/openapi",redoc_url="/apidoc"
)
你可以配置兩個文檔用戶界面,包括:
- Swagger UI:服務于 /docs。
-
- 可以使用參數 docs_url 設置它的 URL。
- 可以通過設置 docs_url=None 禁用它。
- ReDoc:服務于 /redoc。
-
- 可以使用參數 redoc_url 設置它的 URL。
- 可以通過設置 redoc_url=None 禁用它。
我們一直沒有看過redoc,我們今天看下
?
當然我們也可以禁用,可以根據我們的需求來。