Operation json (model)

De Wiki1000

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.

Methodjson.png

Format Custom

Le format de retour pour ce type de méthode n'est pas défini.

Format Chart

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;
Outils personnels