全部產品
Search
文件中心

API Gateway:模型管理

更新時間:Jan 04, 2025

1. 模型的簡介及限定

模型用於描述HTTP協議的請求資料和響應資料。API Gateway通過使用JSON Schema定義模型,用來描述使用者API約定資料的組織方式,比如參數或者傳回值有哪些欄位,這些欄位的取值範圍等。同時,通過定義模型,並在使用者建立的API中加以引用,使用者在API的SDK匯出時,關聯的Model會自動產生對應的POJO類。這樣可以增強使用者傳入參數的便利性,同時可以方便使用者還原序列化返回的資料。

API Gateway模型定義基於JSON架構草案4的規範,但存在一定的條件限制:

  1. 僅支援建立元素屬性為Object類型的JSON Schema。

  2. $ref僅支援本使用者的內部Model引用。Model的‘ref’引用地址可以通過CreateModel - 建立模型DescribeModels - 擷取已建立的模型擷取。‘ref’不支援循環參考。

API Gateway支援的模型可以參考如下定義:

{
        "required": ["name", "photoUrls"],
        "type": "object",
        "properties": {
                "id": {
                        "format": "int64",
                        "type": "integer"
                },
                "category": {
                        "$ref": "https://apigateway.aliyun.com/models/bbc725be4b0b48b79bdd2f6ebbdcc8c0/a5e7741d8a3a4bcb9746275a0db15fcf"
                },
                "name": {
                        "pattern": "^\\d{3}-\\d{2}-\\d{4}$",
                        "type": "string"
                },
                "status": {
                        "type": "string"
                },
                "dogProject": {
                        "type": "object",
                        "properties": {
                                "id": {
                                        "format": "int64",
                                        "maximum": 100,
                                        "exclusiveMaximum": true,
                                        "type": "integer"
                                },
                                "name": {
                                        "maxLength": 10,
                                        "type": "string"
                                }
                        }
                }
        }
}

2. 建立模型

您可以通過阿里雲提供的CreateModel - 建立模型進行模型建立。同樣,您也可以通過API Gateway的控制台進行建立。

模型相關操作的控制台入口

  1. 登入API Gateway控制台

  2. 在左側導覽列選擇API管理 > 分組管理

  3. 在目標分組,單擊操作列下的模型管理,進入模型管理介面。單擊新增模型

Swagger匯入建立模型

API Gateway支援匯入API Gateway的擴充Swagger定義。Swagger檔案中的Model相關內容會在Swagger匯入成功後,會在該分組下自動產生模型。

重要

通過Swagger匯入模型時,同名模型將直接被覆蓋,不會進行使用者確認。

3. 修改和查看模型

完成模型的建立後,可以在模型管理介面點擊查看所需的模型。在模型的詳情頁,可以看到模型的名稱,模型的定義,以及系統為其分配的URI。API Gateway模型間可以通過‘$ref:{URI}’來實現模型間的專案引用。

如果使用者希望對當前模型的資訊進行修改,可以點擊右上方修改按鈕完成模型的修改。

重要

模型的URI不隨模型的更改發生改變。

4. 刪除模型

使用者可以對分組下的模型進行刪除操作。

重要

API Gateway不維護模型和API的關聯關係,刪除模型時可能會引起線上API的SDK匯出失敗等問題。因此,刪除模型請謹慎操作。