全部產品
Search
文件中心

Mobile Platform as a Service:API 緩衝

更新時間:Jul 13, 2024

配置 API 緩衝資訊,緩衝 API 的響應,減輕業務系統壓力。

關於此任務

API 緩衝包含整個後端請求的響應,包括回應標頭和響應體,所以要求被緩衝的 API 的回應標頭中排除狀態類資訊,比如 cookie 中的使用者態資料。該緩衝功能只適合緩衝無狀態資料。

後端業務系統可以通過在回應標頭中添加 Pragma: no-cache 告知網關不緩衝該次響應。

操作步驟

  1. 登入 mPaaS 控制台,在左側導覽列,點擊 移動網關 菜單。

  2. 在 API 列表中,選擇要配置的 API 名稱,點擊操作列中的 配置,進入 API 詳情頁面。

  3. 點擊 緩衝配置 地區的 修改 按鈕,配置如下規則:

    • 結果緩衝:是否開啟緩衝。

    • 緩衝時間:緩衝的存活時間,單位:秒。

    • 緩衝索引值:用於緩衝的索引值運算式。點擊 修改 定義緩衝索引值。在彈出的模態框中,填寫緩衝所需的主鍵,可以拖曳進行排序。關於索引值文法的資訊,參見下文的索引值文法。

索引值文法

支援的文法

當 API 請求到達網關後,網關會根據索引值配置擷取相應的資料,作為緩衝的索引值,其文法如下:

文法

描述

$

根對象,例如:$.bar

[num]

數組訪問,其中 num 是數字。例如:$[0].bar.foos[1].name

.

屬性訪問,例如:$.bar

[‘key’]

屬性訪問,例如:$[‘bar’]

$.header

API 要求標頭對象,用於擷取要求標頭中的欄位,例如:$.header.remote_addr

$.cookie

API 請求 cookie 對象,用於擷取 cookie 中的值,例如:$.cookie.session_id

$.http_body

後端為 HTTP 類型的請求體對象,用於擷取請求體中的欄位,例如:$.http_body.name

$.http_qs

後端為 HTTP 類型的請求參數對象,用於擷取請求參數,例如:$.http_qs.name

程式碼範例

以如下請求資料為例,從請求報文中擷取對象:

URL:/json.htm?tenantId=boo

Header:
Content-Type:application/json
opt:com.mobile.info.get   
workspaceId:default       
appId:B2D553102
cookie:JSESSIONID=abcd;traceId=trace1000

Body: 
[
    {
        "key": "1234",
        "locations": [
            "beijing",
            "shanghai"
        ],
        "language": "zh-Hans",
        "unit": "c"
    },
    {
        "demo": {
            "name": "nick"
        }
    }
]

如下顯示錶達式的樣本:

$.header.appId = B2D553102
$.cookie.traceId = trace1000
$.http_qs.tenantId = boo
$[0].key = 1234
$[0].locations[1] = shanghai
$[1].demo.name = nick