13.4 Valeurs possibles d'un attribut énuméré

13.4.1 URL

GET /api/v1/families/<famName>/enumerates/<attrid>

Récupération des valeurs de l'énuméré de l'attribut attrid et de la famille famName.

13.4.2 Content

Le contenu de la requête est vide.

13.4.3 Structure de retour

Le retour est une donnée JSON.

13.4.3.1 En cas de réussite :

La partie data contient 3 champs :

  1. document.data.uri : URI d'accès à la ressource;
  2. document.data.label : label de l'attribut traduit dans la langue de l'utilisateur;
  3. document.data.requestParameters : filtre appliqués à la recherche;
  4. document.data.enumItems : tableau d'objets :
    1. key : valeur de l'élément
    2. label : libellé (traduit dans la langue de l'utilisateur)

Exemple :

{
    "success": true,
    "messages": [],
    "data": {
        "uri": "http://www.example.net/api/v1/families/my_article/enumerates/my_continent.json",
        "label": "Continents",
        "requestParameters": {
            "operator": "contains",
            "keyword": ""
        },
        "enumItems": [
            {
                "key": "Asia",
                "label": "Asie"
            },
            {
                "key": "Europa",
                "label": "Europe"
            },
            {
                "key": "Africa",
                "label": "Afrique"
            },
            {
                "key": "SouthAmerica",
                "label": "Amérique du sud"
            },
            {
                "key": "NorthAmerica",
                "label": "Amérique du nord"
            },
            {
                "key": "Oceania",
                "label": "Océanie"
            },
            {
                "key": "Antartica",
                "label": "Antartique"
            }
        ]
    }
}

13.4.3.2 En cas d'échec

Les raisons d'échecs spécifiques à cette requête sont

Raison Status HTTP Error Code
Famille non trouvée 404 API0200
Attribut non trouvé 404 API0400
Attribut de type non énuméré 403 API0401

Exemple :

Cas d'erreur de en cas d'attribut non énuméré

{"success" :             false,
    "messages" :         [
        {
            "type" :        "error",
            "contentText" : "Attribute \"an_tatouage\" is not an enum (type \"int\") in family \"ZOO_ANIMAL\"",
            "contentHtml" : "",
            "code" :        "API0401",
            "uri" :         "",
            "data" :        null
        }
    ],
    "data" :             null,
    "exceptionMessage" : "Attribute \"an_tatouage\" is not an enum (type \"int\") in family \"ZOO_ANIMAL\""
}

13.4.4 Résultat partiel (?keyword et ?operator)

Il est possible de filtrer les résultats pour n'en retourner qu'un sous ensemble.

  • GET /api/v1/families/IUSER/enumerates/us_rolesorigin.json?keyword=<keyword>
  • GET /api/v1/families/IUSER/enumerates/us_rolesorigin.json?operator=startswith&keyword=<keyword>

Les paramètres sont :

  • keyword : celui-ci correspond au terme recherché,
  • operator : celui-ci correspond à l'opérateur appliqué, deux choix sont possibles :
    • startswith : le label commence par le keyword,
    • contains : le label contient le keyword.

13.4.5 Ordre des résultats (?orderBy)

Il est possible de spécifier l'ordre dans lequel les résultats doivent être retournés.

  • GET /api/v1/families/IUSER/enumerates/us_rolesorigin.json?sortBy=none

Les valeurs possibles pour orderBy sont :

none (tri par défaut)
trie les énumérés par l'ordre indiqué dans la définition de l'énuméré.
key

trie les énumérés par ordre alphabétique de leur clé

ce tri ne tient pas compte de la locale de l'utilisateur. C'est un tri alphabétique non naturel.

label

trie les énumérés par ordre alphabétique de leur label.

ce tri tient compte de la locale de l'utilisateur.

×