閱讀665 返回首頁    go 財經資訊


API創建__使用手冊(開放API)_API 網關-阿裏雲

創建API

創建API即在API網關錄入API的定義。您需要定義API的基本信息、服務信息、請求信息、返回信息。

  • 網關支持您配置對入參的預校驗規則,讓網關成為您後端服務的第一道關卡。
  • 網關支持您配置前端和後端的全映射,即參數混排。如您可以讓您的用戶在Query傳入參數,但是您後端從Header裏接收,等等。以滿足您需要將服務包裝變形輸出。
  • 網關支持您配置常量參數、係統參數,這些參數對您的用戶不可見,但是網關可以在中轉時將常量參數、係統參數加入請求中,傳遞至後端服務,滿足您後端的一些業務需求。比如您需要網關每次向您發送請求都帶有一個keyword“aligateway”,您就可以把“aligateway”配置為常量參數,並指定接收的位置。

定義請求的基本信息

API基本信息包括API分組、API名稱、安全認證方式、API類型、描述。

1.API創建時需要選擇分組。分組是API的管理單元,創建API之前您需要先創建分組(API分組的詳細說明見“API開放”部分),選擇分組即選擇Region。

2.安全認證方式:是API請求的認證方式,目前支持“阿裏雲APP”、“OpenID Connect”和“無認證”三種認證方式。

    A. 阿裏雲APP:認證方式即要求請求者調用該API時能夠通過對APP的身份認證。
    B. OpenID Connect:是一套基於 OAuth 2.0 協議的輕量級規範,提供通過RESTful APIs進行身份交互的框架。可以使用OpenID Connect和您的自有賬號係統無縫對接,詳細介紹請參照《OpenID Connect》
    C. 無認證:認證方式即任何人知曉該API的請求定義後,均可發起請求,網關不對其做身份驗證,均會轉發至您後端服務。

3.API類型分為公開和私有兩種。“私有”類型的API,當所在分組上架雲市場時,默認不包括該類型的API。如果有用戶想要調用您的API,您需要主動操作授權,否則用戶無渠道獲取API信息。“公開”類型的API,所有用戶均有機會在“發現API”頁麵看到API的部分信息。“公開”類型的API都會跟API分組上架到雲市場,供用戶購買和調用。

定義API請求

這部分是定義用戶如何請求您的API,包括協議、method、path、入參的定義。

  1. 協議及method。API調用支持HTTP/HTTPS協議。Method方法可選擇PUT、GET、POST、DELETE、HEAD。
  2. Path。Path指相對於服務host,API的請求路徑。請求Path可以與後端服務實際Path不同,您可以隨意撰寫合法的有明確語義的Path給用戶使用。您可以在請求Path中配置動態參數,即要求用戶在Path中傳入參數,同時您的後端又可以不在Path中接收,可以映射為在Query、Header等位置接收。在《開放API接入API網關》中,有詳細的舉例說明,更有清晰的截圖展示。
  3. 入參。定義您API的請求入參,即配置用戶需要在什麼位置傳入什麼參數。可選位置有Head、Query、Body、Path(Parameter Path),尤其當您在Path中配置了動態參數,那麼在入參配置時需要對動態參數做配置說明。支持的參數類型有 String、Number、Boolean。
  4. 參數校驗規則。每個入參後可點擊“編輯更多”配置校驗規則。如String的長度,Number的枚舉等等。網關會參照校驗規則對請求做初步校驗,如果入參不合法,則不會到達您的後端服務,大大的降低了後端服務的壓力。

定義後端服務信息

這部分主要是定義一些參數的前後端映射,具體描述的是您後端真實服務的API配置。用戶請求到達網關後,網關會根據您的後端配置映射為對應實際後端服務的請求形式,去請求您的後端。包括後端服務地址、後端Path、後端超時時間、參數映射、常量參數、係統參數。

  1. 後端服務地址。後端服務的host,可以是一個域名,也可以是 http(s)://host:port 的形式。
  2. 後端Path。Path是您的API服務在您後端服務器上的請求路徑,實際請求路徑。若您後端Path需要接收動態參數,那麼需要聲明該參數是調用者從哪個位置哪個參數傳入的,即聲明映射關係。
  3. 後端超時時間。指API請求到達網關後,網關去調API後端服務的響應時間。由網關請求後端開始到網關收到後端返回結果。該值不能超過30秒。超過該值網關會放棄請求後端服務,並給用戶返回相應的錯誤信息。
  4. 參數映射。網關支持參數在前端、後端的全映射,包括名稱映射和位置映射。位置映射包括Path、Header、Query、Body的混排映射。也就是說,您可以將您的後端服務通過映射完成包裝成更規範、更專業的API形態。這部分就是在聲明前後端API映射關係的。在《開放API接入API網關》中,有詳細的舉例說明,更有清晰的截圖展示。【注意前後端參數名稱不能重複】
  5. 常量參數。比如您需要網關每次請求您後端時都帶有標記“apigateway”,那麼您可以直接將標記配置為常量參數。常量參數對您的用戶不可見,請求達到網關後,網關會自動在指定位置加上該參數再去請求您的後端。
  6. 係統參數。指API網關的係統參數,這些參數默認不會傳遞給您,但是如果您需要獲取,您可以在API裏配置接收位置和名稱。具體內容如下表:

    參數名稱 參數含義
    CaClientIp 發送請求的客戶端IP
    CaDomain 發送請求的域名
    CaRequestHandleTime 請求時間(格林威治時間)
    CaAppId 請求的APP的ID
    CaRequestId RequestId
    CaApiName API名稱
    CaHttpSchema 用戶調用API使用的協議,http或者https
    CaProxy 代理(AliCloudApiGateway)

注意:您所有錄入的參數,包括Path中的動態參數、Headers參數、Query參數、Body參數(非二進製)、常量參數、係統參數,參數名稱保證全局唯一。即如果您同時在Headers和Query裏各有一個名為“name”的參數,是不允許的。

完成以上定義後,您就完成了API的創建。下一步您可以發布、測試並開放API服務到市場,還可以為API綁定簽名密鑰和流量控製等安全配置。

最後更新:2016-12-02 17:38:09

  上一篇:go API調用示例__快速入門(調用API)_API 網關-阿裏雲
  下一篇:go API開放__使用手冊(開放API)_API 網關-阿裏雲