« API Json (SData) » : différence entre les versions

De Wiki1000
Aucun résumé des modifications
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 4 : Ligne 4 :


Les informations de connexion et les schémas d'URL sont identiques.
Les informations de connexion et les schémas d'URL sont identiques.
A la différence de l'API en mode ressource, elle nécessite le déploiement de paquet DSM pour gérer les appels de service.


==Méthode JSON==
==Méthode JSON==
Ligne 11 : Ligne 13 :
La signature de ces méthodes doit être :
La signature de ces méthodes doit être :


<pre>
<source lang="delphi">
  procedure foo(req:TJson; out resp:TJson);
procedure foo(req:TJson; out resp:TJson);
</pre>
var json:TJson;
begin
  json := TJson.Create('{}');
  ....
  resp := json;
end;
</source>


Ces méthodes peuvent être membre de n'importe quelle classe non persistante, ou d'une classe support d'un paquet de service local.
Ces méthodes peuvent être membre de n'importe quelle classe non persistante, ou d'une classe support d'un paquet de service local.

Dernière version du 11 mars 2026 à 09:43

Prérequis

L'API Json est une variante de l'API SData en mode ressource

Les informations de connexion et les schémas d'URL sont identiques.

A la différence de l'API en mode ressource, elle nécessite le déploiement de paquet DSM pour gérer les appels de service.

Méthode JSON

Dans ce mode, au lieu de manipuler des ressources retournées en xml ou json, le client appele des méthodes en passant en paramètre un payload json et en recevant en retour une responde json.

La signature de ces méthodes doit être :

procedure foo(req:TJson; out resp:TJson);
var json:TJson;
begin
  json := TJson.Create('{}');
  ....
  resp := json;
end;

Ces méthodes peuvent être membre de n'importe quelle classe non persistante, ou d'une classe support d'un paquet de service local.

Paquet de service local

L'utilisation d'un paquet de service local permet d'appeler directement les méthodes de la classe support du paquet.

Par exemple :


Vous pouvez appeler directement la méthode myMethodJson() sans explicitement indiquer la classe support :

http://localhost:8080/sdata/dsmPaquetDeService/myMethodJson

Paquet de classes non persistantes

Les méthodes Json membres de classes non persistantes peuvent aussi être appelées.

Par exemple :

Dans ce cas vous devez spécifier le nom de la classe dans l'URL d'appel de la méthode.

http://localhost:8080/sdata/dsmPaquetAPI/myMethodJson

Voir aussi: