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.
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.
Die folgende Vorlage verwendet eckige Klammern ([]
) 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.
Beachten Sie, dass bei falscher Filterstruktur keine Filter angewendet werden und der vollständige Ergebnissatz zurückgegeben wird.
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE}
Eigenschaft | Beschreibung |
---|---|
{ENDPOINT} |
Ein Auflistungsendpunkt in der Reactor-API, der Filterparameter unterstützt. |
{ATTRIBUTE_NAME} |
Der Name eines bestimmten Attributs, nach dem Ergebnisse gefiltert werden sollen. Beachten Sie, dass verschiedene Endpunkte unterschiedliche Attribute für die Filterung unterstützen. Eine Liste der verfügbaren Filterattribute finden Sie im Referenzhandbuch für den Endpunkt, mit dem Sie arbeiten. |
{OPERATOR} |
Der Operator, der bestimmt, wie die Ergebnisse anhand des bereitgestellten {VALUE} ausgewertet werden. Die unterstützten Operatoren sind im Anhang aufgeführt. |
{VALUE} |
Der Wert, mit dem die zurückgegebenen Ergebnisse verglichen werden sollen. Beim Vergleich auf Gleichheit mit dem Operator 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}'
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}
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}
Wenn Sie dasselbe Attribut in mehreren Filtern für dieselbe Anfrage angeben, wird nur der zuletzt angegebene Filter für dieses Attribut angewendet.
Der folgende Abschnitt enthält eine zusätzliche Information für die Arbeit mit Filtern in der Reactor-API.
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.
Operator | Beschreibung |
---|---|
EQ |
Das Attribut muss dem bereitgestellten Wert entsprechen. |
NOT |
Das Attribut darf dem bereitgestellten Wert nicht entsprechen. |
LT |
Das Attribut muss kleiner als der angegebene Wert sein. |
GT |
Das Attribut muss größer als der angegebene Wert sein. |
BETWEEN |
Das Attribut muss innerhalb eines bestimmten Wertebereichs liegen. Bei Verwendung dieses Operators müssen zwei Werte angegeben werden, um die Mindest- und Höchstwerte für den gewünschten Bereich anzugeben. |
CONTAINS |
Das Attribut muss den angegebenen Wert enthalten, wie einen Zeichensatz innerhalb eines Zeichenfolgenattributs. |