Classe entité de service distant (stereotype)
Les classes entité de service distante non persistante sont des classes permettant de manipuler des ressource exposées par un Service SData.
Il y a deux façon d'utiliser ces classes :
- Avec un objet fournisseur de Service.
- Dans ce cas vous devez créer un objet de la classe TSDataServiceProviderInfo et définir manuellement les valeurs de ses propriétés puis utiliser cet objet pour effectuer les opérations GET,POST,PUT,DELETE SData.
- Avec un fournisseur de Service enregistrée dans l'administration.
- Dans ce cas vous devez définir les propriétés du Service dans les Fournisseurs de Service de l'administration, associer ce fournisseur à la base de données de l'application puis appeler directement les méthodes du stéréotype pour effectuer les opérations GET,POST,PUT,DELETE SData.
Attributs du stéréotype
| SDataID | Identifiant de ressource |
| SDataKey | Identifiant de clé primaire SData |
| SDataEtag | Identifiant de version |
| SDataUUID | Identifiant de correlation |
| SDataServiceProvider | Fournisseur de service SData |
Méthode du stéréotype
| Get | Retrouve une ressource par son identifiant SData |
| GetWhere | Retrouve une ressource par une clause Where |
| GetList | Retrouve une liste de ressources |
| Post | Crée la ressource sur le serveur distant |
| Put | Met à jour la ressource sur le serveur distant |
| Delete | Supprime la ressource sur le serveur distant. |
| DeleteByKey | Supprime la ressource sur le serveur distant. |
Exemple :
Création d'une ressource sur un Service SData en utilisant un objet fournisseur de Service :
var inst:remoteEntity; prv:TSDataServiceProviderInfo;
begin
// create an instance of sdata service provider
prv := TSDataServiceProviderInfo.Create;
prv.UserName := userName;
prv.UserPassword := jeton;
prv.EndPointURL := endpoint;
// Build a ressource
//
inst := remoteEntity.create;
inst.code := remoteCode;
...
prv.PostEntity(inst);
end;
Création d'une ressource sur un Service SData en utilisant un fournisseur de Service enregistré dans l'administration :
var inst:remoteEntity;
begin
// build a remote sdata entity
//
inst := remoteEntity.create;
inst.code := remoteCode;
...
inst.Post;
end;
| Attention : Pour fonctionner, les classes qu'on souhaite instancier doivent appartenir à un paquet dont le module est lié à la base de données,courante. |
Voir aussi :