Operation json (model)
Une opération au format json est une opération dont les paramètres d'entrée et de sortie sont formatés au format json.
Elles sont principalement utilisées dans le cadre des services REST, par exemple pour les applications mobiles ou tableaux de bord.
La signature de ces opérations doit être :
<source lang='delphi'>Procedure methodName(req:Tjson; var resp:TObject);</source>
Typage des opérations JSON
Lorsqu'une opération json est utilisé dans le cadre d'un tableau de bord il est nécessaire de typer l'opération en fonction du format de donnée retourné.
Ceci permet au concepteur de tableau de bord de déterminer quel type de vignette est compatible avec cette opération.
Format Custom
Le format de retour pour ce type de méthode n'est pas défini.
Format Chart
Le format Chart est utilisé par les widgets affichant des séries de données.
<source lang="delphi"> procedure chartMethod(req:Tjson; var resp:TObject); var json:TJson; begin
json := Tjson.Create(); resp := json;
json.result.data[0].key := 'Serie 1';
json.result.data[0].values[0].x := 'Label value 1'; json.result.data[0].values[0].y := 1; // Value 1 json.result.data[0].values[0].xtype := 'umlString'; json.result.data[0].values[0].ytype := 'umlInteger';
json.result.data[0].values[1].x := 'Label value 2'; json.result.data[0].values[1].y := 2; // value 2 json.result.data[0].values[1].xtype := 'umlString'; json.result.data[0].values[1].ytype := 'umlInteger';
json.result.data[0].values[2].x := 'Label value 3'; json.result.data[0].values[2].y := 3; // value 3 json.result.data[0].values[2].xtype := 'umlString'; json.result.data[0].values[2].ytype := 'umlInteger';
end; </source>
Format Tabulaire
Le format Chart est utilisé par les widgets affichant des données en grille.
<source lang="delphi"> procedure tabularMethod(req:Tjson; var resp:TObject); var json:TJson; begin
json := Tjson.Create(); resp := json;
// 3 tabular fields json.result[0].key := 'field1'; json.result[0].displayName := _TP('Titre champs 1'); json.result[0].type := 'umlString';
json.result[1].key := 'field2'; json.result[1].displayName := _TP('Titre champs 2'); json.result[1].type := 'umlString';
json.result[2].key := 'field3'; json.result[2].displayName := _TP('Titre champs 3'); json.result[2].type := 'umlInteger';
// sample data (3 rows of data) json.result[0].values[0] := 'row1-field1'; json.result[1].values[0] := 'row1-field2'; json.result[2].values[0] := 1;
json.result[0].values[1] := 'row2-field1'; json.result[1].values[1] := 'row2-field2'; json.result[2].values[1] := 2;
json.result[0].values[0] := 'row3-field1'; json.result[1].values[2] := 'row3-field2'; json.result[2].values[2] := 3;
end; </source>
Format KPI
<source lang="delphi"> procedure kpiMethod(req:Tjson; var resp:TObject); var json:TJson; begin
json := Tjson.Create(); resp := json;
end; </source>
Format List
<source lang="delphi"> procedure listMethod(req:Tjson; var resp:TObject); var json:TJson; begin
json := Tjson.Create(); resp := json;
end; </source>
Voir aussi :