Filtrage des réponses dans l’API Reactor
Lors de l’utilisation de points d’entrée de liste (GET) dans l’API Reactor, vous trouverez peut-être nécessaire de limiter les résultats renvoyés à un sous-ensemble d’enregistrements. Pour ce faire, de nombreux points d’entrée de liste de l’API prennent en charge la possibilité d’effectuer un filtrage en fonction d’attributs spécifiques. Si vous préférez effectuer des requêtes structurées vers l’API, consultez le guide consacré à la recherche.
Syntaxe de filtrage
L’exemple suivant décrit les méthodes d’implémentation de filtres pour vos requêtes GET.
Format d'API
Pour filtrer la réponse pour un point d’entrée de liste donné, vous devez fournir un paramètre de requête filter
dans le chemin d’accès de la requête.
[]
) et des espaces pour faciliter la lecture. En pratique, ces caractères doivent être encodés en URI, comme indiqué dans le document RFC 3986. Un exemple de chemin d’accès de requête correctement encodé est présenté plus loin dans ce guide.GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE}
{ENDPOINT}
{ATTRIBUTE_NAME}
{OPERATOR}
{VALUE}
fournie. Les opérateurs pris en charge sont répertoriés dans la section annexe.{VALUE}
EQ
, la valeur doit avoir une correspondance exacte et sensible à la casse pour être incluse dans la réponse.Requête
L’exemple de requête ci-dessous récupère une liste de bibliothèques publiées en appliquant un filtre qui nécessite que l’attribut state
de la bibliothèque soit égal à published
.
Avant l’encodage URI, la syntaxe de ce filtre dans le chemin d’accès de la requête est similaire à celle-ci :
https://reactor.adobe.io/properties/PR906238a59bbf4262bcedba248f483600/libraries?filter[state]=EQ published
Une fois le chemin d’accès et les paramètres de requête codés en URI, ils peuvent être utilisés dans des requêtes API comme celle ci-dessous :
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}'
Filtrage sur plusieurs valeurs multiple-values
Pour effectuer le filtrage d’un seul attribut en fonction de plusieurs valeurs, fournissez les valeurs sous forme de liste séparée par des virgules.
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE_1},{VALUE_2}
Utilisation de plusieurs filtres
Pour appliquer des filtres à plusieurs attributs, fournissez un paramètre filter
à chaque attribut. Les paramètres doivent être séparés par des esperluettes (&
).
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME_1}]={OPERATOR} {VALUE}&filter[{ATTRIBUTE_NAME_2}]={OPERATOR} {VALUE}
Annexe
La section suivante contient des informations supplémentaires relatives à l’utilisation de filtres dans l’API Reactor.
Opérateurs de filtre pris en charge operators
Le tableau suivant répertorie les valeurs d’opérateur prises en charge pour les paramètres de filtre. Gardez en tête que, selon l’attribut en fonction duquel vous effectuez le filtrage, tous les opérateurs de filtre disponibles ne sont pas applicables. C’est notamment le cas pour l’utilisation d’opérateurs « inférieur à » ou « supérieur à » pour les attributs de chaîne.
EQ
NOT
LT
GT
BETWEEN
CONTAINS