在反應器API中篩選響應

在Reactor API中使用清單(GET)端點時,您可能會發現有必要將返回的結果限制為記錄的子集。 為此,許多API的清單端點都支援按特定屬性進行篩選的能力。 如果希望對API進行結構化查詢,請參閱上的指南 搜索

篩選語法

以下示例說明如何為您的GET請求實施篩選器。

API格式

要篩選給定清單終結點的響應,必須提供 filter 請求路徑中的查詢參數。

注意

下面的模板使用方括弧([])和空格字元,以便閱讀。 實際上,這些字元必須是URI編碼的,如中所述 RFC 3986。 本指南後面顯示了正確編碼的請求路徑示例。

請注意,如果篩選器的結構不正確,則不應用篩選器,並返回完整的結果集。

GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE}
屬性 說明
{ENDPOINT} 支援篩選器參數的Reactor API中的清單終結點。
{ATTRIBUTE_NAME} 要按篩選結果的特定屬性的名稱。 請記住,不同的端點支援不同的篩選屬性。 有關您正在使用的端點的參考指南,請參閱可用過濾屬性清單。
{OPERATOR} 確定如何根據提供的結果評估結果的運算子 {VALUE}。 支援的運算子列於 附錄部分
{VALUE} 要將返回的結果與之進行比較的值。 當使用 EQ 運算子,該值必須精確且區分大小寫,才能包括在響應中。

要求

下面的示例請求通過應用需要庫的篩選器來檢索已發佈庫的清單 state 屬性等於 published

在URI編碼之前,請求路徑中此篩選器的語法如下所示:

https://reactor.adobe.io/properties/PR906238a59bbf4262bcedba248f483600/libraries?filter[state]=EQ published

一旦路徑和查詢參數已經URI編碼,就可以在API請求中使用,如下所示:

curl -X GET \
  https://reactor.adobe.io/properties/PR906238a59bbf4262bcedba248f483600/libraries?filter%5Bstate%5D=EQ%20published \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}'

對多個值進行篩選

要按單個屬性的多個值進行篩選,請將這些值作為逗號分隔的清單提供。

GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE_1},{VALUE_2}

使用多個篩選器

要應用多個屬性的篩選器,請提供 filter 參數。 參數必須用和符分隔(&)字元。

GET {ENDPOINT}?filter[{ATTRIBUTE_NAME_1}]={OPERATOR} {VALUE}&filter[{ATTRIBUTE_NAME_2}]={OPERATOR} {VALUE}
注意

如果在同一請求上在多個篩選器中指定同一屬性,則將只應用該屬性的最後一個提供的篩選器。

附錄

以下部分包含有關在Reactor API中使用篩選器的其他資訊。

支援的篩選器運算子

下表列出了篩選器參數支援的運算子值。 請記住,根據篩選依據的屬性,並非所有可用的篩選器運算子都適用,例如對字串屬性使用「小於」或「大於」運算子。

運算子 說明
EQ 該屬性必須等於提供的值。
NOT 該屬性不能等於提供的值。
LT 該屬性必須小於提供的值。
GT 屬性必須大於提供的值。
BETWEEN 該屬性必須位於指定的值範圍內。 使用此運算子時, 兩個值 必須提供以指示所需範圍的最小值和最大值。
CONTAINS 該屬性必須包含提供的值,如字串屬性中的一組字元。

本頁內容