Scénario 1 : Service REST acceptant des requêtes HTTP GET et envoyant des réponses - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Ce scénario décrit le processus d'acceptation d'une requête HTTP du client, son traitement et l'envoi de sa réponse.

Configurer le composant tRESTRequest

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : un tRESTRequest, un tXMLMap et deux tRESTResponse.

  2. Double-cliquez sur le composant tRESTRequest dans l'espace de modélisation graphique afin d'afficher sa vue Basic settings.

  3. Dans le champ REST Endpoint, saisissez l'URI à laquelle le service Web REST sera accessible pour les requêtes, par exemple "http://192.168.0.235:8088/user".

    Note

    Si vous voulez que votre service soit disponible à la fois sur HTTP et HTTPS, renseignez ce champ avec un chemin relatif. Par exemple, si vous saisissez "/test", votre service sera disponible à la fois sur http://<EndpointHTTPParDéfaut>/test et https://<EndpointHTTPSParDéfaut>/test, à condition que vous ayez configuré votre conteneur d'exécution pour supporter l'HTTPS. Pour plus d'informations, consultez le Talend ESB Container Administration Guide (en anglais).

  4. Cliquez sur le bouton [+] pour ajouter une ligne dans la table REST API Mapping.

  5. Sélectionnez la nouvelle ligne et cliquez sur le bouton [...] de la colonne Output Flow afin d'ajouter un schéma pour le flux de sortie.

    Dans ce scénario, nommez le flux de sortie GetOneUser.

  6. Cliquez sur le bouton [+] afin d'ajouter une ligne id au schéma. Cliquez sur OK pour sauvegarder le schéma.

  7. Sélectionnez GET dans la colonne HTTP Verb.

  8. Dans la colonne URI Pattern, saisissez "/{id}/".

  9. De la même manière, ajoutez une ligne dans la table REST API Mapping et nommez ce schéma GetUserNumber. Ajoutez une ligne string de type String au schéma. Saisissez query dans le champ Comment pour ajouter à la requête le paramètre des numéros.

    Sélectionnez GET dans la liste de la colonne HTTP Verb. Renseignez le champ dans la colonne URI Pattern en saisissant "/number".

Configurer le tXMLMap

  1. Reliez le composant tRESTRequest au tXMLMap à l'aide d'un lien Row > GetOneUser.

  2. Double-cliquez sur le tXMLMap dans l'espace de modélisation graphique pour ouvrir le Map Editor.

  3. Cliquez sur le bouton [+] en haut à droite afin d'ajouter une table de sortie et nommez-la ResponseUsers.

  4. Cliquez sur le bouton [+] en bas à droite pour ajouter deux colonnes en sortie.

    Nommez la première colonne body et, dans la colonne Type, sélectionnez Document.

    Nommez la seconde colonne string et, dans la colonne Type, sélectionnez String.

  5. Cliquez-droit sur le nœud root et sélectionnez Create Sub-Element pour créer un sous-élément. Nommez le sous-élément foo dans la boîte de dialogue qui s'ouvre.

  6. Cliquez-droit sur le nœud foo et sélectionnez As loop element.

  7. Sélectionnez la colonne id de la table GetOneUser et déposez-la dans le champ Expression du nœud foo dans la table ResponseUsers.

  8. Cliquez sur OK afin de sauvegarder les paramètres.

Configurer le composant tRESTResponse

  1. Reliez le tXMLMap à l'un des tRESTResponse à l'aide d'un lien Row > ResponseUsers.

    Le schéma défini dans le tXMLMap est automatiquement récupéré par le tRESTResponse.

  2. Sélectionnez OK(200) dans la liste Return status code.

  3. Laissez les autres paramètres tels qu'ils sont.

  4. Reliez le tRESTRequest à l'autre tRESTResponse à l'aide d'un lien Row > GetUserNumber.

Sauvegarder et exécuter le Job

  1. Sauvegardez le Job et appuyez sur F6 pour l'exécuter.

  2. Ouvrez votre navigateur si vous souhaitez tester le service.

    La requête HTTP demandant l'ID d'un utilisateur est acceptée par le service REST et la réponse HTTP est retournée au serveur.

  3. Répétez cette étape et saisissez http://localhost:8088/user/number?string=123 dans la barre d'adresse. Appuyez sur la touche Entrée.

    Une erreur de parsing XML est reportée, car le contenu du corps retourné est de type String. Cliquez-droit dans votre navigateur et sélectionnez View Page Source dans le menu contextuel menu.

    Vous pouvez constater que 123 est retourné dans la réponse.