Accès à des référentiels externe
w.c.s. peut utiliser des référentiels externes pour par exemple alimenter la liste des choix possibles dans un champ; pour ce faire w.c.s. utilise le format JSON. L’adresse appelée doit répondre aux exigences suivantes :
retourner les données, triées, dans un attribut nommé data ;
présenter chaque élément des données dans un dictionnaire contenant deux éléments, id contenant un identifiant unique et text contenant le texte de la valeur ;
Exemple JSON
GET https://www.example.net/data/fruits
{
"data": [
{
"text": "Poire",
"id": "1"
},
{
"text": "Pomme",
"id": "2"
}
]
}Quand il y a besoin de filtrer dynamiquement les données (autocomplétion, recherche dans un champ liste), l’adresse appellée doit respecter les exigences supplémentaires suivantes :
accepter un paramètre, usuellement id, permettant de retourner un seul élément en le désignant par son identifiant ;
accepter un paramètre, usuellement q, permettant de filtrer les éléments en fonction de leur contenu.
Exemple JSON d’un élément unique désigné par son identifiant
GET https://www.example.net/data/fruits?id=1
{
"data": [
{
"text": "Poire",
"id": "1"
}
]
}Exemple JSON filtré par contenu
GET https://www.example.net/data/fruits?q=pom
{
"data": [
{
"text": "Pomme",
"id": "2"
}
]
}En plus des clés id et text qui sont obligatoires, les différents éléments peuvent contenir des clés supplémentaires, pour des informations annexes. Celles-ci seront alors accessibles dans les variables de contexte du formulaire.
Exemple JSON enrichi
GET https://www.example.net/data/fruits
{
"data": [
{
"text": "Poire",
"id": "1",
"saison": "automne",
"prix": "1"
},
{
"text": "Pomme",
"id": "2",
"saison": "automne",
"prix": "2"
}
]
}