Filtrare le risposte nell’API di Reactor
Quando nell’API di Reactor si utilizzano gli endpoint di elenco (GET), potrebbe essere necessario limitare i risultati restituiti a un sottoinsieme dei record. A questo scopo, molti degli endpoint di elenco dell’API supportano la possibilità di filtrare per specifici attributi. Se invece desideri eseguire query strutturate, consulta la guida alla ricerca.
Sintassi per i filtri
L’esempio seguente spiega come implementare i filtri per le richieste GET.
Formato API
Per filtrare la risposta per un determinato endpoint di elenco, è necessario fornire un parametro di query filter
nel percorso della richiesta.
[]
) e spazi per migliorarne la leggibilità. Nella pratica, invece, questi caratteri devono essere codificati in URI, come descritto in RFC 3986. Più avanti in questa guida viene fornito un esempio del codice corretto per un percorso di richiesta.GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE}
{ENDPOINT}
{ATTRIBUTE_NAME}
{OPERATOR}
{VALUE}
fornito. Gli operatori supportati sono elencati nell’appendice.{VALUE}
EQ
, per poter essere incluso nella risposta il valore deve corrispondere esattamente, rispettando maiuscole e minuscole.Richiesta
L’esempio di richiesta seguente recupera un elenco di librerie pubblicate applicando un filtro che richiede che l’attributo state
della libreria sia uguale a published
.
Prima della codifica URI, la sintassi di questo filtro nel percorso della richiesta sarà simile alla seguente:
https://reactor.adobe.io/properties/PR906238a59bbf4262bcedba248f483600/libraries?filter[state]=EQ published
Una volta che i parametri di percorso e query sono stati codificati in URI, possono essere utilizzati in richieste API simili alla seguente:
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}'
Filtro per più valori multiple-values
Per filtrare in base a più valori per un singolo attributo, fornisci i valori come elenco separato da virgole.
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE_1},{VALUE_2}
Utilizzo di più filtri
Per applicare filtri per più attributi, fornisci un parametro filter
per ciascun attributo. I parametri devono essere separati da caratteri di E commerciale (&
).
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME_1}]={OPERATOR} {VALUE}&filter[{ATTRIBUTE_NAME_2}]={OPERATOR} {VALUE}
Appendice
La sezione seguente contiene informazioni aggiuntive sull’utilizzo dei filtri nell’API di Reactor.
Operatori di filtro supportati operators
Nella tabella seguente sono elencati gli operatori supportati nei parametri di filtro. A seconda dell’attributo filtrato, non tutti gli operatori di filtro disponibili saranno applicabili, ad esempio l’utilizzo di operatori “minore di” o “maggiore di” per gli attributi di stringa.
EQ
NOT
LT
GT
BETWEEN
CONTAINS