Operation json (model)
De Wiki1000
Version du 26 décembre 2019 à 16:55 par Syfre (discuter | contributions)
Sommaire |
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 :
Procedure methodName(req:Tjson; var resp:TObject);
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.
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;
Format Tabulaire
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;
Format KPI
procedure kpiMethod(req:Tjson; var resp:TObject); var json:TJson; begin json := Tjson.Create(''); resp := json; end;
Format List
procedure listMethod(req:Tjson; var resp:TObject); var json:TJson; begin json := Tjson.Create(''); resp := json; end;