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 :
-
document.data.uri
: URI d'accès à la ressource; -
document.data.label
: label de l'attribut traduit dans la langue de l'utilisateur; -
document.data.requestParameters
: filtre appliqués à la recherche; -
document.data.enumItems
: tableau d'objets :-
key
: valeur de l'élément -
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 lekeyword
, -
contains
: le label contient lekeyword
.
-
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.