Filtrera svar i reaktors-API
När du använder listslutpunkter (GET) i Reaktors-API:t kan det vara nödvändigt att begränsa de returnerade resultaten till en delmängd av poster. För att uppnå detta har många av API:ns listslutpunkter stöd för möjligheten att filtrera efter specifika attribut. Om du i stället vill göra strukturerade frågor till API:t läser du i guiden om sökning.
Filtreringssyntax
I följande exempel förklaras hur du implementerar filter för dina GETTER.
API-format
Om du vill filtrera svaret för en viss listslutpunkt måste du ange en filter
-frågeparameter i sökvägen till begäran.
[]
) och blankstegstecken för läsbarhet. I praktiken måste dessa tecken vara URI-kodade, vilket beskrivs i RFC 3986. Ett exempel på en korrekt kodad sökväg visas senare i den här handboken.GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE}
{ENDPOINT}
{ATTRIBUTE_NAME}
{OPERATOR}
{VALUE}
. Operatorer som stöds listas i avsnittet appendix.{VALUE}
EQ
måste värdet vara en exakt, skiftlägeskänslig matchning för att kunna inkluderas i svaret.Begäran
Exempelbegäran nedan hämtar en lista med publicerade bibliotek genom att tillämpa ett filter som kräver att bibliotekets state
-attribut är lika med published
.
Före URI-kodning skulle syntaxen för det här filtret i sökvägen för begäran se ut ungefär så här:
https://reactor.adobe.io/properties/PR906238a59bbf4262bcedba248f483600/libraries?filter[state]=EQ published
När sökväg- och frågeparametrarna har URI-kodats kan de användas i API-begäranden som den nedan:
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}'
Filtrera på flera värden multiple-values
Om du vill filtrera efter flera värden för ett enskilt attribut anger du värdena som en kommaavgränsad lista.
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE_1},{VALUE_2}
Använda flera filter
Om du vill använda filter för flera attribut anger du en filter
-parameter för varje attribut. Parametrar måste avgränsas med et-tecken (&
).
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME_1}]={OPERATOR} {VALUE}&filter[{ATTRIBUTE_NAME_2}]={OPERATOR} {VALUE}
Bilaga
Följande avsnitt innehåller ytterligare information om hur du arbetar med filter i Reaktors-API:t.
Filteroperatorer som stöds operators
I följande tabell visas vilka operatorvärden som stöds för filterparametrar. Tänk på att beroende på vilket attribut du filtrerar efter kommer inte alla tillgängliga filteroperatorer att användas, till exempel operatorerna "mindre än" och "större än" för strängattribut.
EQ
NOT
LT
GT
BETWEEN
CONTAINS