日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡聊Fastapi框架中的OpenAPI規(guī)范

OpenAPI規(guī)范(也稱為Swagger規(guī)范),在Fastapi框架中它主要用來定義和文檔化API接口。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),河源企業(yè)網(wǎng)站建設(shè),河源品牌網(wǎng)站建設(shè),網(wǎng)站定制,河源網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,河源網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

關(guān)于OpenAPI規(guī)范是一種用于描述和定義Web API的標(biāo)準(zhǔn)化規(guī)范。它可以使用JSON或YAML等格式來描述API的各種元數(shù)據(jù)信息等細(xì)節(jié),如接口路徑、請求方法、請求和響應(yīng)的數(shù)據(jù)結(jié)構(gòu)、參數(shù)、錯誤處理等。

通過使用OpenAPI規(guī)范,我們可以輕松地生成API文檔,并且可以使用各種工具來自動生成客戶端代碼、進(jìn)行接口測試等。如Swagger UI,項(xiàng)目啟動后就可以查看到具體的路由定義信息,并可以進(jìn)行調(diào)試等。

在整個框架應(yīng)用中主要表現(xiàn)為:我們可以通過使用裝飾器和Python類型提示來定義API接口相關(guān)信息??蚣鼙旧頃鶕?jù)我們定義的一些相關(guān)規(guī)則信息自動生成OpenAPI文檔,并提供一個交互式的API文檔頁面,可以在其中查看和測試API接口。 這個文檔頁面基于Swagger UI,它可以根據(jù)OpenAPI規(guī)范自動生成,并提供了一些方便的功能,比如請求參數(shù)的驗(yàn)證和自動生成請求示例等。

應(yīng)用主要場景:

我們可以使用OpenAPI規(guī)范來定義接口的各種細(xì)節(jié),其中可以包括請求和響應(yīng)的數(shù)據(jù)結(jié)構(gòu)、參數(shù)、錯誤處理等信息。這樣可以使得我們的API接口更加清晰、易于理解和使用。

1.定義應(yīng)用app對象的元數(shù)據(jù)

python
from fastapi import FastAPI

app = FastAPI(title="項(xiàng)目標(biāo)題I", description="項(xiàng)目文檔描述", version="1.0.0")

在上面的代碼中,主要是通過參數(shù)定義為我應(yīng)用示例對應(yīng)的以及相關(guān)API元數(shù)據(jù),例如標(biāo)題、描述和版本號。

2.定義路由的元數(shù)據(jù)

@app.get("/items/{item_id}", summary="路由標(biāo)題", description="路由描述說明")
def get_item(item_id: int):
    return {"item_id": item_id}

在上面的代碼中,主要是通過裝飾器參數(shù)為路由添加元數(shù)據(jù),例如摘要和描述信息。 當(dāng)然還有其他的參數(shù)可以傳入。

3.定義模型的元數(shù)據(jù)

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    description: str = Field(..., description="描述信息")

OpenAPI 自定義和擴(kuò)展

1.示例

在fastapi框架提供了一個openapi的自定義參數(shù),如下代碼所示:

app.openapi = custom_openapi

基于上面的openapi我就可有針對進(jìn)行擴(kuò)展和自定義其他擴(kuò)展字段信息,如下示例代碼:

def custom_openapi():
    if app.openapi_schema:
        return app.openapi_schema
    openapi_schema = get_openapi(
        title="FastAPIBoilerplate",
        version="0.0.1",
        summary="FastAPIBoilerplate",
        description='框架模板',
        routes=app.routes,
    )
    openapi_schema["info"]["x-logo"] = {
        "url": "https:xxxxxxxx"
    }
    app.openapi_schema = openapi_schema
    return app.openapi_schema

如上代碼中:我們通過獲取app實(shí)例對象中已自動生成的 OpenAPI 規(guī)范后,在它毒藥的 info 對象中添加一個 x-custom 字段。這個字段可以是任何 JSON 兼容的數(shù)據(jù),例如字符串、數(shù)字、布爾值、列表或字典。如此完成后,當(dāng)我們訪問:

http://127.0.0.1:31120/openapi.json

即可獲取到如下圖所示的結(jié)果:

當(dāng)然我們還可以擴(kuò)展其他的參數(shù)項(xiàng): 如下代碼所示:

 openapi_schema["info"]["x-custom"] = "自定義數(shù)據(jù)信息"

2.自定義和擴(kuò)展作用和說明

一般通過在 OpenAPI 規(guī)范中添加額外的、非標(biāo)準(zhǔn)的信息一般可以用于:

  • 提供額外的文檔信息。
  • 集成其他工具參數(shù)信息。
  • 包含額外的元數(shù)據(jù)。如 API 的版本歷史、貢獻(xiàn)者列表、相關(guān)資源的鏈接等。

分享文章:簡聊Fastapi框架中的OpenAPI規(guī)范
轉(zhuǎn)載來于:http://m.5511xx.com/article/cdjpjpd.html