doc: update api datasource page (#33337)

This commit is contained in:
Emmanuel Cazenave 2019-05-22 14:54:22 +02:00
parent 517fd9c88b
commit 7e35f1de8c
1 changed files with 43 additions and 12 deletions

View File

@ -49,34 +49,43 @@ L'adresse appelée doit répondre aux exigences suivantes :
<p>
Quand il y a besoin de filtrer dynamiquement les données
(autocomplétion, recherche dans un champ liste),
le protocole <link href="http://en.wikipedia.org/wiki/JSONP">JSONP</link>
est utilisé. Les exigences supplémentaires sont les suivantes :
(autocomplétion, recherche dans un champ liste), l'adresse appellée
doit respecter les exigences supplémentaires suivantes :
</p>
<list>
<item><p>accepter un paramètre <code>callback</code> permettant de définir
le nom de la fonction Javascript devant être appelée ;</p></item>
<item><p>accepter un paramètre <code>q</code> permettant de filtrer les
résultats.</p></item>
<item><p>accepter un paramètre, usuellement <code>id</code>,
permettant de retourner un seul élément en le désignant par son identifiant ;</p></item>
<item><p>accepter un paramètre, usuellement <code>q</code>,
permettant de filtrer les éléments en fonction de leur contenu.</p></item>
</list>
<example>
<title>Exemple JSONP</title>
<title>Exemple JSON d'un élément unique désigné par son identifiant</title>
<screen>
<output style="prompt">$ </output><input>curl https://www.example.net/data/fruits?q=po&amp;callback=cb</input>
<output>cb({
<output style="prompt">$ </output><input>curl https://www.example.net/data/fruits?id=1</input>
<output>{
"data": [
{
"text": "Poire",
"id": "1"
},
}
]
}</output></screen>
</example>
<example>
<title>Exemple JSON filtré par contenu</title>
<screen>
<output style="prompt">$ </output><input>curl https://www.example.net/data/fruits?q=pom</input>
<output>{
"data": [
{
"text": "Pomme",
"id": "2"
}
]
});</output></screen>
}</output></screen>
</example>
<note><p>
@ -86,4 +95,26 @@ informations annexes. Celles-ci seront alors accessibles dans les variables
de contexte du formulaire.
</p></note>
<example>
<title>Exemple JSON enrichi</title>
<screen>
<output style="prompt">$ </output><input>curl https://www.example.net/data/fruits</input>
<output>{
"data": [
{
"text": "Poire",
"id": "1",
"saison": "automne",
"prix": "1"
},
{
"text": "Pomme",
"id": "2",
"saison": "automne",
"prix": "2"
}
]
}</output></screen>
</example>
</page>