Filtern von Antworten in der Reactor-API
Bei Verwendung von Listenendpunkten (GET) in der Reactor-API kann es erforderlich sein, die zurückgegebenen Ergebnisse auf eine Untergruppe von Datensätzen zu beschränken. Zu diesem Zweck unterstützen viele Listenendpunkte der API die Möglichkeit, nach bestimmten Attributen zu filtern. Wenn Sie stattdessen strukturierte Abfragen an die API richten möchten, finden Sie weitere Informationen im Benutzerhandbuch zum Thema Suchen.
Filter-Syntax
Das folgende Beispiel erläutert, wie Sie Filter für Ihre GET-Anfragen implementieren.
API-Format
Um die Antwort nach einem bestimmten Listenendpunkt zu filtern, müssen Sie einen filter
-Abfrageparameter im Anfragepfad angeben.
[]
) und Leerzeichen für bessere Lesbarkeit. In der Praxis müssen diese Zeichen URI-kodiert sein, wie in RFC 3986 beschrieben. Ein Beispiel für einen ordnungsgemäß kodierten Anfragepfad finden Sie weiter unten in diesem Handbuch.GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE}
{ENDPOINT}
{ATTRIBUTE_NAME}
{OPERATOR}
{VALUE}
ausgewertet werden. Die unterstützten Operatoren sind im Anhang aufgeführt.{VALUE}
EQ
muss der Wert eine exakte Übereinstimmung sein, bei der Groß- und Kleinschreibung berücksichtigt werden, damit er in die Antwort aufgenommen werden kann.Anfrage
Die folgende Beispielanfrage ruft eine Liste der veröffentlichten Bibliotheken ab, indem ein Filter angewendet wird, für den das Attribut state
der Bibliothek published
entsprechen muss.
Vor der URI-Kodierung würde die Syntax für diesen Filter im Anfragepfad wie folgt aussehen:
https://reactor.adobe.io/properties/PR906238a59bbf4262bcedba248f483600/libraries?filter[state]=EQ published
Sobald der Pfad und die Abfrageparameter URI-kodiert wurden, können sie in API-Anfragen wie der folgenden verwendet werden:
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}'
Filtern nach mehreren Werten multiple-values
Um für ein einzelnes Attribut nach mehreren Werten zu filtern, geben Sie die Werte als kommagetrennte Liste an.
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE_1},{VALUE_2}
Verwenden mehrerer Filter
Um Filter für mehrere Attribute anzuwenden, geben Sie für jedes Attribut einen filter
-Parameter an. Die Parameter müssen durch kaufmännische Und-Zeichen (&
) getrennt werden.
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME_1}]={OPERATOR} {VALUE}&filter[{ATTRIBUTE_NAME_2}]={OPERATOR} {VALUE}
Anhang
Der folgende Abschnitt enthält eine zusätzliche Information für die Arbeit mit Filtern in der Reactor-API.
Unterstützte Filteroperatoren operators
In der folgenden Tabelle sind die unterstützten Operatorwerte für Filterparameter aufgeführt. Beachten Sie, dass je nach Attribut, nach dem Sie filtern, nicht alle verfügbaren Filteroperatoren anwendbar sind, wie die Verwendung der Operatoren „kleiner als“ oder „größer als“ für Zeichenfolgenattribute.
EQ
NOT
LT
GT
BETWEEN
CONTAINS