本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設置「打開」API basePath
屬性
在 Open API 2.0basePath
屬性來提供一個或多個路徑部分,這些部分位於paths
性質中定義的每個路徑之前。由於 API Gateway 有數種表示資源路徑的方法,因此「匯入」API 功能會在匯入期間提供下列選項來解譯basePath
屬性:忽略、前面加上和分割。
在 OpenAPI 3.0basePath
不再是頂層屬性。而是使API用伺服器變數
-
如果API不包含任何
basePath
變數,則「匯入」API 功能會檢查server.url
字串,看看它是否包含超出的路徑"/"
。若是,該路徑會用作基本路徑。 -
如果僅API包含一個
basePath
變數,則「匯入」API 功能會將其用作基準路徑,即使在中未參考該變數server.url
。 -
如果API包含多個
basePath
變數,則「匯入」API 特徵僅使用第一個變數做為基準路徑。
Ignore
如果「開啟」API 檔案的basePath
值為,/a/b/c
且內paths
容包含/e
和/f
,則下列POST
或PUT
請求:
POST /restapis?mode=import&basepath=ignore
PUT /restapis/
api_id
?basepath=ignore
會產生以下資源API:
-
/
-
/e
-
/f
其效果是將其視basePath
為不存在,並且所有聲明的API資源都相對於主機提供服務。例如,當您的自訂網域名稱具有不包含基本路徑和參API照生產階段的 Stage 值的對應時,就可以使用此功能。
注意
API閘道會自動為您建立根資源,即使未在您的定義檔案中明確宣告。
未指定時,basePath
預設會採用 ignore
。
前綴
如果 OpenAPI 檔案具有 basePath
的 /a/b/c
值,而且 paths
屬性包含 /e
與 /f
,則下列 POST
或 PUT
請求:
POST /restapis?mode=import&basepath=prepend
PUT /restapis/
api_id
?basepath=prepend
會產生以下資源API:
-
/
-
/a
-
/a/b
-
/a/b/c
-
/a/b/c/e
-
/a/b/c/f
結果是將 basePath
視為指定其他資源 (不含方法),並將其新增至已宣告的資源集。例如,當不同的小組負責的不同API部分,API並且可以參考每個專案團隊零件的路徑位置時,便basePath
可以使用此選項。
注意
APIGateway 會自動為您建立中繼資源,即使這些資源並未在您的定義中明確宣告。
Split
如果 OpenAPI 檔案具有 basePath
的 /a/b/c
值,而且 paths
屬性包含 /e
與 /f
,則下列 POST
或 PUT
請求:
POST /restapis?mode=import&basepath=split
PUT /restapis/
api_id
?basepath=split
會產生以下資源API:
-
/
-
/b
-
/b/c
-
/b/c/e
-
/b/c/f
其效果是將最上層的路徑部分視為每個資源路徑的開頭,並在API本身內建立額外的 (無方法) 資源。/a
例如,當a
您想要公開作為API.