Aller au contenu

Pagination, filtres & tris

Fonctionnalités récurrentes et paramètres

Pagination

Les endpoints de liste retournent des résultats paginés.

*/!* Les booléens doivent être figurés numériquement à l’intérieur des chaînes de requête !

Paramètres de chaîne de requête :

  • paginate=1|0 => Active/désactive la pagination. Par défaut : 1.

Exemples :

  • api/formats => Modèles paginés.
  • api/formats?paginate=1 => Modèles paginés.
  • api/formats?paginate=0 => Formats non paginés.

Filtres

Vous pouvez appliquer des critères de sélection de ressource. Il est possible de filtrer sur plusieurs critères en utilisant plusieurs paramètres de chaîne de requête filters, séparés par un ’&’ (comme pour chaque paramètre de chaîne de requête).

*/!* Les booléens doivent être figurés numériquement à l’intérieur des chaînes de requête !

Paramètres de chaîne de requête :

  • filters[champ][opérateur]=valeur => Ressource filtrée sur champ dont la valeur correspond à valeur avec opérateur appliqué.

Exemples :

  • api/formats?filters[display_name][$contains]=postcard => nécessite des formats avec “postcard” dans le nom d’affichage.
  • api/formats?filters[display_name][$contains]=postcard&filters[rv][$eq]=0 => nécessite des formats avec “postcard” dans le nom d’affichage, mais pas rv.

Opérateurs autorisés :

OpérateurDescription
$eqÉgal
$eqcÉgal (sensible à la casse)
$neNon égal
$ltInférieur à
$lteInférieur ou égal à
$gtSupérieur à
$gteSupérieur ou égal à
$inInclus dans un tableau
$notInNon inclus dans un tableau
$containsContient
$notContainsNe contient pas
$containscContient (sensible à la casse)
$notContainscNe contient pas (sensible à la casse)
$nullEst null
$notNullN’est pas null
$betweenEst entre
$startsWithCommence par
$startsWithcCommence par (sensible à la casse)
$endsWithSe termine par
$endsWithcSe termine par (sensible à la casse)
$orJoint les filtres dans une expression “ou”
$andJoint les filtres dans une expression “et”

Tris

Les collections de ressources peuvent être triées sur plusieurs champs, ascendant ou descendant (par défaut : ascendant).

Paramètres de chaîne de requête :

  • sort[ordre]=champ%3Adirection => Ressources triées sur champ, ordonnées par direction, le tri étant appliqué d’abord selon ordre (facultatif).

Exemples :

  • /api/formats?sort=nb_page => Formats par nb_page croissant.
  • /api/formats?sort[0]=nb_page%3Aasc&sort[1]=width%3Adesc => Formats par nb_page croissant d’abord, largeur décroissante ensuite.

Inclusions

La plupart des ressources permettent l’inclusion de ses relations avec d’autres ressources. Les relations peuvent être simples ou multiples, directes ou imbriquées. Différentes relations peuvent être interrogées.

La convention de dénomination des relations est camelCase avec une lettre minuscule en premier, même lorsque le résultat doit être inclus dans un champ snake_case. Si la relation est une collection, elle doit alors être au pluriel, sauf pour les médias, qui sont déjà au pluriel.

Paramètres de chaîne de requête :

  • include=<relations> => relations étant une liste séparée par ’,’, comme relation1,relation2,relation3. L’imbrication est symbolisée par un ’.‘. Par exemple, relation1.relation1b.

Exemples :

  • api/libraries/13dee9a4-949c-4e56-afef-3ce917c56d74?include=mediaType