Tutoriel : Utilisation de la bibliothèque client REST pour accéder aux services Web basés sur REST

De RAD Studio
Aller à : navigation, rechercher

Remonter à Tutoriels Bases de données et LiveBindings

Le tutoriel du client REST BaaS (Backend as a Service) explique comment utiliser la bibliothèque client REST pour accéder aux services Web basés sur REST (REST est l'acronyme de Representational State Transfer). La bibliothèque REST est disponible pour toutes les plates-formes supportées par Delphi. Le framework de la bibliothèque REST est principalement basé sur le format de représentation JSON. Le format XML n'est pas explicitement supporté.

Conseil : Cet exemple requiert une connexion encryptée SSL. Vous pouvez installer la bibliothèque SSL et copier les fichiers libeay32.dll et ssleay32.dll dans votre chemin système.

Création du projet

Créez un nouveau projet.

  • Pour Delphi, choisissez Fichier > Nouveau > Application multi-périphérique - Delphi > Application vide.
  • Pour C++Builder, choisissez Fichier > Nouveau > Application multi-périphérique - CBuilderUI > Application vide.

Ajout de composants REST

  1. Déposez les composants TRESTClient, TRESTRequest et TRESTResponse sur la fiche.
    Conseil : Alternativement, vous pouvez copier ces trois composants dans le Presse-papiers en utilisant le bouton Copier composants de l'outil Débogueur REST, puis en les collant ensuite dans la fiche. Cela vous aide à accélérer votre travail.
  2. Dans l'inspecteur d'objet, définissez la propriété BaseURL de TRESTClient sur http://www.songsterr.com/a/ra/.
  3. Sélectionnez le composant TRESTRequest sur la fiche et définissez les propriétés suivantes :
    • Dans l'inspecteur d'objets, définissez la propriété Resource sur songs.json.
    • Dans la vue Structure, développez le noeud Params.
    • Cliquez avec le bouton droit sur le noeud Params, puis cliquez sur Ajouter un élément dans le menu contextuel.
    • Sous Params, cliquez sur le paramètre nouvellement ajouté 0-.
    • Dans l'inspecteur d'objets, définissez le nom du paramètre sur pattern, et la valeur du paramètre sur Madonna.
      RESTTutorialStructureViewModified.png
  4. Cliquez avec le bouton droit sur le composant TRESTRequest et sélectionnez Exécuter.
    RESTTutorialResponseOK.png
  5. Cliquez sur le bouton OK.
Remarque : Ce scénario illustre comment obtenir une réponse du service Web Songsterr Web au format JSON. Le service Web Songsterr prend également en charge les formats xml et plist. Pour plus d'informations, voir http://www.songsterr.com/a/wa/api.

Utilisation du Concepteur LiveBindings

Ouvrez le Concepteur LiveBindings. Le diagramme sans connexion est similaire à l'image suivante :

RESTTutorialLiveBindingsDesigner.png

  1. Cliquez avec le bouton droit sur la propriété RESTResponse1.Content.
  2. Sélectionnez l'option Lier à un nouveau contrôle.
  3. Dans la liste qui apparaît, sélectionnez le contrôle TMemo.
    RESTTutorialBindNewControlTMemo.png
  4. Cliquez sur le bouton OK.
  5. Dans l'inspecteur d'objets, définissez les propriétés suivantes du composant TMemo :
    • Définissez la propriété Align sur Client.
    • Définissez la propriété TextSettings/WordWrap sur True.
      Si vous avez appelé la méthode Execute du composant TRESTRequest, le TMemo devrait déjà apparaître dans les résultats JSON bruts.
  6. Déposez un composant TPanel sur la fiche.
  7. Définissez la propriété Align de TPanel sur Top.
  8. Dans le Concepteur LiveBindings, cliquez avec le bouton droit sur la propriété Params.pattern de RESTRequest1.
  9. Sélectionnez l'option Lier à un nouveau contrôle.
  10. Dans la liste qui apparaît, sélectionnez le contrôle TEdit et cliquez sur OK.
    Remarque : La case à cocher Ajouter un libellé de contrôle est cochée par défaut, et un TLabel est créé pour le contrôle TEdit.
  11. Déplacez le contrôle Params.pattern vers le haut de la fiche.
  12. Ajoutez un composant TButton sur la fiche, et définisssez la propriété Text du bouton sur Execute.

Préparation de votre application pour l'exécution

Création du gestionnaire d'événement pour le bouton Execute

  1. Dans le Concepteur de fiches, sélectionnez le composant Button1.
  2. Dans l'inspecteur d'objets, double-cliquez sur l'événement OnClick.
  3. Ajoutez le code suivant à ce gestionnaire d'événement :
Delphi :
procedure TForm1.Button1Click(Sender: TObject);
var
  jValue:TJSONValue;
begin
  RESTRequest1.Execute;
  jValue:=RESTResponse1.JSONValue;
  MemoContent.Text:= jValue.ToString;
end;

Important : La classe TJSONValue est déclarée dans l'unité System.JSON. Avant de compiler ce projet, veuillez ajouter System.JSON à la clause uses de votre unité.

C++Builder :
void __fastcall TForm1::Button1Click(TObject *Sender) {
    TJSONValue *jValue;
    RESTRequest1->Execute();
    jValue = RESTResponse1->JSONValue;
    MemoContent->Text = jValue->ToString();
}

Important : La classe TJSONValue est déclarée dans l'unité System.JSON. Avant de compiler ce projet, veuillez ajouter #include <System.JSON.hpp> au fichier en-tête du projet.

Exécution de votre application

Pour exécuter votre application :

  1. Appuyez sur F9 ou choisissez Exécuter > Exécuter.
  2. Entrez un modèle (tel que Madonna) dans la zone de texte Param.pattern.
  3. Cliquez sur Execute pour envoyer votre requête au service Songsterr.


RESTTutorialRunTime2.png

Voir aussi