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.
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.
Le modèle ci-dessous utilise des crochets ([]
) 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.
Veuillez noter que si la structure de vos filtres est incorrecte, aucun filtre n’est appliqué et le jeu de résultats complet est renvoyé.
GET {ENDPOINT}?filter[{ATTRIBUTE_NAME}]={OPERATOR} {VALUE}
Propriété | Description |
---|---|
{ENDPOINT} |
Point d’entrée de liste dans l’API Reactor qui prend en charge les paramètres de filtre. |
{ATTRIBUTE_NAME} |
Nom d’un attribut spécifique en fonction duquel filtrer les résultats. Gardez en tête que différents points d’entrée prennent en charge différents attributs pour le filtrage. Reportez-vous au guide de référence du point d’entrée que vous utilisez pour obtenir la liste des attributs de filtrage disponibles. |
{OPERATOR} |
L’opérateur qui détermine la manière dont les résultats sont évalués en fonction de la valeur {VALUE} fournie. Les opérateurs pris en charge sont répertoriés dans la section annexe. |
{VALUE} |
Valeur en fonction de laquelle comparer les résultats renvoyés. Lors de la comparaison relative à l’égalité à l’aide de l’opérateur 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}'
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}
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}
Si, pour une même requête, vous spécifiez le même attribut dans plusieurs filtres, seul le dernier filtre fourni pour cet attribut est appliqué.
La section suivante contient des informations supplémentaires relatives à l’utilisation de filtres dans l’API Reactor.
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.
Opérateur | Description |
---|---|
EQ |
La valeur de l’attribut doit être égale à la valeur fournie. |
NOT |
La valeur de l’attribut ne doit pas être égale à la valeur fournie. |
LT |
La valeur de l’attribut doit être inférieure à la valeur fournie. |
GT |
La valeur de l’attribut doit être supérieure à la valeur fournie. |
BETWEEN |
La valeur de l’attribut doit se trouver dans une plage de valeurs spécifiée. Lors de l’utilisation de cet opérateur, deux valeurs doivent être fournies pour indiquer les valeurs minimale et maximale de la plage souhaitée. |
CONTAINS |
L’attribut doit contenir la valeur fournie, par exemple un ensemble de caractères dans un attribut de chaîne. |