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

Composants Talend Guide de référence

EnrichVersion
6.3
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
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
Talend Real-Time Big Data Platform
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, deux 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 premier composant 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 second composant tXMLMap

  1. Reliez le tRESTRequest à l'autre tXMLMap à l'aide d'un lien Row > GetUserNumber.

  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 ResponseUserNumber.

  4. Cliquez sur le bouton [+] en bas à droite pour ajouter une colonne de sortie.

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

  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 number dans la boîte de dialogue qui s'ouvre.

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

  7. Sélectionnez la colonne string de la table GetUserNumber et déposez-la dans le champ Expression du nœud number dans la table ResponseUserNumber.

  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.

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