創建 API
在 API 網關中,API 發布者將應用的服務接口注冊并對外發布后才可以被外部客戶端調用。本文介紹如何快速在控制臺創建并發布一個 API 服務。有關 API 配置屬性的詳細說明,參見 API 屬性說明。
創建 HTTP API
進入 API 網關控制臺頁面,在左側導航欄中選擇 API 發布 > API 管理。
在 API 列表頁,單擊列表右上方的 創建 API。
在新頁面中,選擇 HTTP API 類型,單擊 創建。
在 定義 API 步驟中,您需要配置以下信息:
所屬分組:必填,用于將 API 進行邏輯的分組,分組下的 API 相同的分組 ID 進行隔離。
說明您可以選擇從下拉菜單中選擇已有分組,也可以單擊 創建分組 新建一個 API 分組。詳見 創建 API 分組。
API 名稱:必填,用于識別 API,支持英文字母、中文、數字、下劃線(_)、連接符(-),32 個字符以內。
說明同一個 API 分組下,API 名稱不能相同。
描述:選填,用于描述 API 的作用等,64 個字符以內。
API 授權應用類型:必選,指定可以訂閱并調用該 API 的應用類型。
目前支持的類型為 應用,表示 API 發布后支持 Web 瀏覽器、H5 容器、小程序、JS、業務系統的調用。
請求路徑:必填,針對應用設置的請求資源的 URL,通過請求路徑可以定位到要請求的資源。
支持英文字母、數字、下劃線(_)、連接符(-),200 字符以內。
以斜杠(/)開頭,不能以斜杠 / 結尾,格式示例 :
/getUserInfo
。路徑參數透傳需要用
{}
標識參數,格式示例:/home/{id}
。
說明后端配置請求路徑需要為空。
路徑匹配規則:如訂閱并調用該 API 的應用類型為 應用 時,必填。
絕對匹配:表示只有請求的路徑和配置的路徑完全一樣時才能匹配成功。
前綴匹配:如希望帶有某個前綴的請求全部匹配到某一個 API,則可以使用前綴匹配。
方法:必填,表明要對給定的 HTTP 資源執行的操作:
GET:檢索服務器中的數據。
POST:將數據發送到服務器進行處理。
PUT:更新服務器中存儲的數據。
DELETE:刪除服務器中的數據。
安全認證:必選,根據實際需要自行選擇。
密鑰認證:表示訂閱應用訪問授權的 API 時使用密鑰進行身份認證。
無需認證:表示訂閱應用訪問授權的 API 時不需要身份認證。
請求參數:可選,詳見 API 屬性說明 > 請求參數。
響應參數:可選,詳見 API 屬性說明 > 響應參數。
單擊 下一步,進入 后端配置 頁面,您需要選擇 后端配置類型 并完成后端配置信息:
無:表示網關接收到前端請求后,不轉發到業務集群。
Mock:表示如果接口后端還沒有提供,使用 Mock 模擬一個后端服務。
Mock 數據:必填,輸入 Mock 的后端服務數據,JSON 格式。
系統集群:表示網關接收到前端請求后轉發到真實業務系統的集群。
協議類型:必選,表示網關接收到請求后轉發給的后端服務使用的通信協議類型。協議不同,需要配置的信息也有所不同。
HTTP
請求路徑:必填,API 請求所指向的資源 URL。以斜杠(/)開頭,支持字母、數字、下劃線(_)、連接符(-),200 字符以內。
SOFARPC
接口名稱:必填,支持英文字母、數字、英文句號(.)、冒號(:)、@,以小寫字母作為開頭,格式示例:
com.alipay.testapp.xxxx.ConfigFacade:1.0@DEFAULT
。服務標識:選填,支持指定服務的 uniqueId。
方法名:支持英文字母、數字組成,以小寫字母作為開頭,格式示例:
getUserID
。
DUBBO/DUBBOX
接口名稱:必填,支持英文字母、數字、英文句號(.)、冒號(:)、@,以小寫字母作為開頭,格式示例:
com.alipay.testapp.xxxx.ConfigFacade:1.0@DEFAULT
。實體參數:參數實體指的是參數的全路徑,例如:Ljava/lang/String;自定義參數實體時注意以
;
結尾,以L
開頭。服務版本:DUBBO 接口服務發布的版本號,可以參考下文 DUBBO 服務發布 XML 實例。
DUBBO 分組:DUBBO 接口服務發布的分組,可以參考下文 DUBBO 服務發布 XML 實例。
方法名:支持英文字母、數字組成,以小寫字母作為開頭,格式示例:
getUserID
。
DUBBO 服務發布 XML 實例
<beanid="testService"class="com.dap.provider.TestServiceImpl"/> <dubbo:serviceref="testService" interface="com.dap.api.IService" group="dubbo分組" version="服務版本"timeout="5000"/>
超時時間:必填,API 請求超時時間,單位為毫秒(ms)。
路由策略:必選,表示當網關接收到請求后使用的路由策略。詳見 創建路由規則。
根據 Header 路由:根據 Header 里帶的參數路由。
根據權重路由:數值范圍為 0-100,所有規則加起來為 100。
根據請求路徑/接口路由:即直接轉發。
根據 LDC 路由:即 LDC 單元化路由轉發。
說明使用單元化路由轉發前,需要在單元化應用服務中創建統一接入實例,具體內容請參見 創建統一接入實例。
系統集群:必選,選擇當前環境內已配置好的系統集群,支持選擇跨 VPC 集群。您也可以單擊 創建系統集群 直接新建一個系統集群。詳見 創建系統集群。
響應參數映射自定義配置:可選,支持從下拉菜單中選擇現有的響應參數映射規則,或單擊 新建參數映射規則 直接創建一個響應參數映射規則。更詳細的創建步驟,參見 創建參數映射。
請求參數映射配置:可選,支持選擇 參數名映射 或 自定義配置。選擇 自定義配置,即可使用現有的請求參數映射規則。
單擊 創建 即可。
HTTP API 創建完成后,您可以單擊 立即發布 發布該 API,單擊 進入 API 詳情 查看 API 詳細信息,或單擊 返回 API 管理 回到 API 列表頁。
創建 SOFARPC API(協議轉換)
在 API 發布 > API 管理 頁面,單擊 API 列表右上方的 創建 API。
在新頁面中,選擇 SOFARPC API(協議轉換)類型,單擊 創建。
在 定義 API 步驟中,您需要配置以下信息:
API 分組:必選,用于將 API 進行邏輯的分組,分組下的 API 相同的分組 ID 進行隔離。
API 名稱:必填,用于識別 API,支持英文字母、中文、數字、下劃線(_)、連接符(-),32 個字符以內。
說明同一個 API 分組下,API 名稱不能相同。
描述:選填,用于描述 API 的作用等,64 個字符以內。
接口名稱:必填,支持英文字母、數字、英文句號(.)、冒號(:)、@,以小寫字母作為開頭,格式示例:
com.alipay.testapp.xxxx.ConfigFacade:1.0@DEFAULT
。服務標識:選填,支持通過 uniqueId 指定服務。
方法名:支持英文字母、數字組成,以小寫字母作為開頭,格式示例:
getUserID
。報文類型:必選,選擇
application/json
。安全認證:必選,根據實際需要自行選擇。
密鑰認證:表示訂閱應用訪問授權的 API 時使用密鑰進行身份認證。
無需認證:表示訂閱應用訪問授權的 API 時不需要身份認證。
請求參數:可選,詳見 API 屬性說明 > 請求參數。
單擊 下一步,進行后端配置:
無:表示網關接收到前端請求后,不轉發到業務集群。
Mock:表示如果接口后端還沒有提供,使用 Mock 用于模擬一個后端服務。
Mock 數據:必填,輸入 Mock 的后端服務數據,JSON 格式。
系統集群:表示網關接收到前端請求后轉發到真實業務系統的集群。
協議類型:必選,表示網關接收到請求后轉發給的后端服務使用的通信協議類型。
HTTP
請求路徑:API 請求所指向的資源 URL。以斜杠(/)開頭,支持字母、數字、下劃線(_)、連接符(-),200 字符以內。
超時時間:必填,API 請求超時時間,單位為毫秒(ms)。
方法:表明要對給定的 HTTP 資源執行的操作,包括 GET、POST、PUT 和 DELETE。
報文類型:HTTP 服務報文類型,目前僅支持
application/json
。報文編碼:HTTP 服務報文編碼,目前僅支持
UTF-8
。路由策略:必選,表示當網關接收到語法后使用的路由策略。詳見 創建路由規則。
根據 Header 路由:根據 Header 里帶的參數路由。
根據權重路由:數值范圍為 0-100,所有規則加起來為 100。
根據請求路徑/接口路由:直接轉發。
系統集群:必選,選擇當前環境內已配置好的系統集群,或單擊 創建系統集群 直接新建一個系統集群。詳見 創建系統集群。
DUBBO/DUBBOX
接口名稱:必填,支持英文字母、數字、英文句號(.)、冒號(:)、@,以小寫字母作為開頭,格式示例:
com.alipay.testapp.xxxx.ConfigFacade:1.0@DEFAULT
。實體參數:參數實體指的是參數的全路徑,例如:Ljava/lang/String;自定義參數實體時注意以
;
結尾,以L
開頭。服務版本:DUBBO 接口服務發布的版本號,可以參考下文 DUBBO 服務發布 XML 實例。
DUBBO 分組:DUBBO 接口服務發布的分組,可以參考下文 DUBBO 服務發布 XML 實例。
方法名:支持英文字母、數字組成,以小寫字母作為開頭,格式示例:
getUserID
。
DUBBO 服務發布 XML 實例
<beanid="testService"class="com.dap.provider.TestServiceImpl"/> <dubbo:serviceref="testService" interface="com.dap.api.IService" group="dubbo分組" version="服務版本"timeout="5000"/>
單擊 創建 即可。
創建 DUBBO API
在 API 發布 > API 管理 頁面,單擊 API 列表右上方的 創建 API。
在新頁面中,選擇 DUBBO API 類型,單擊 創建。
在 創建 DUBBO API 頁面,您需要配置以下信息:
API 分組:必選,用于將 API 進行邏輯的分組,分組下的 API 相同的分組 ID 進行隔離。
API 名稱:必填,用于識別 API,支持英文字母、中文、數字、下劃線(_)、連接符(-),32 個字符以內。
說明同一個 API 分組下,API 名稱不能相同。
描述:選填,用于描述 API 的作用等,64 個字符以內。
接口名稱:必填,支持英文字母、數字、英文句號(.)、冒號(:)、@,以小寫字母作為開頭,格式示例:
com.alipay.testapp.xxxx.ConfigFacade:1.0@DEFAULT
。實體參數:選填,DUBBO 協議下的實體參數路徑,例如:
com/alipay/xc/dubboserver/rpc/xxxx
。說明您可以通過單擊 添加 來添加多個實體參數。
DUBBO 分組:選填,作為 DUBBO 服務的標識,主要用于服務注冊和服務發現。
方法名:支持英文字母、數字組成,以小寫字母作為開頭,格式示例:
getUserID
。報文類型:必選,目前僅支持
application/json
。報文編碼:必選,目前僅支持
UTF-8
。安全認證:必選,根據實際需要自行選擇。
密鑰認證:表示訂閱應用訪問授權的 API 時使用密鑰進行身份認證。
無需認證:表示訂閱應用訪問授權的 API 時不需要身份認證。
請求參數:可選,詳見 API 屬性說明 > 請求參數。
單擊 下一步,進入 后端配置 頁面,您需要選擇 后端配置類型 并完成后端配置信息:
系統集群:表示網關接收到前端請求后轉發到真實業務系統的集群。
協議類型:必選,表示網關接收到請求后轉發給的后端服務使用的通信協議類型。協議不同,需要配置的信息也有所不同。
HTTP
請求路徑:必填,API 請求所指向的資源 URL。以斜杠(/)開頭,支持字母、數字、下劃線(_)、連接符(-),200 字符以內。
方法:必填,表明要對給定的 HTTP 資源執行的操作,包括 GET、POST、PUT 和 DELETE。
報文類型:必選,目前僅支持
application/json
。報文編碼:必選,目前僅支持
UTF-8
。
SOFARPC
接口名稱:必填,支持英文字母、數字、英文句號(.)、冒號(:)、@,以小寫字母作為開頭,格式示例:
com.alipay.testapp.xxxx.ConfigFacade:1.0@DEFAULT
。服務標識:選填,支持指定服務的 uniqueId。
方法名:支持英文字母、數字組成,以小寫字母作為開頭,格式示例:
getUserID
。
超時時間:必填,API 請求超時時間,單位為毫秒(ms)。
路由策略:必選,表示當網關接收到請求后使用的路由策略。詳見 創建路由規則。
根據權重路由:數值范圍為 0-100,所有規則加起來為 100。
根據請求路徑/接口路由:即直接轉發。
根據 LDC 路由:即 LDC 單元化路由轉發。
說明使用單元化路由轉發前,需要在單元化應用服務中創建統一接入實例,具體內容請參見 創建統一接入實例。
系統集群:必選,選擇當前環境內已配置好的系統集群。您也可以單擊 創建系統集群 直接新建一個系統集群。詳見 創建系統集群。
完成后單擊 創建,即可完成一個 DUBBO API 的創建。