tRESTRequest - 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

Propriétés du tRESTRequest

Avertissement

Ce composant est disponible pour les utilisateurs du Studio Talend avec option ESB.

Famille du composant

ESB/REST

 

Fonction

Le tRestRequest est un composant côté serveur acceptant les requêtes HTTP et/ou HTTPS des clients et supportant les méthodes HTTP GET, POST, PUT, PATCH et DELETE.

Note

Pour activer le support de HTTPS, vous devez générer un keystore et ajouter quelques propriétés liées à la configuration de sécurité HTTPS dans le fichier org.ops4j.pax.web.cfg de votre conteneur Talend Runtime. Pour plus d'informations, consultez le Talend ESB Container Administration Guide (en anglais).

Objectif

Ce composant vous permet de recevoir les requêtes GET/POST/PUT/PATCH/DELETE des clients, du côté serveur.

Basic settings

REST Endpoint

Renseignez ce champ en saisissant l'emplacement de l'URI où le service Web RESTful sera accessible pour les requêtes.

Note

Si vous voulez que votre service soit disponible à la fois sur HTTP et HTTPS, renseignez ce champ avec un chemin relatif.

 

REST API Mapping

Cliquez sur le bouton [+] sous la table de mapping pour ajouter des lignes pour spécifier des requêtes HTTP :

Output Flow : Cliquez sur le bouton [...] afin de spécifier le nom d'un flux de sortie et configurez le schéma du flux de sortie dans la boîte de dialogue qui suit.

Le schéma n'est pas obligatoire, donc, si vous ne devez pas passer des paramètres supplémentaires au composant tRESTRequest, vous pouvez laisser le schéma vide. Cependant, vous devez alimenter le schéma si vous avez des paramètres URI Path définis dans le champ URI Pattern ou si vous devez ajouter des paramètres facultatifs de requêtes, tels que URI Query, HTTP Header ou Form parameters à l'URI spécifiée dans le champ REST Endpoint.

Ajouter un schéma dont le nom est body permet de récupérer le corps de la requête des méthodes POST ou PUT. Les types Document, String et Byte[] sont supportés.

Si vous spécifiez des paramètres d'URI dans le schéma du flux de sortie, vous devez définir le type de paramètre dans le champ Comment du schéma. Par défaut, si vous laissez le champ Comment vide, le paramètre est considéré comme un paramètre Path. Voici une liste des valeurs supportées dans Comment :

  • vide ou path correspond au paramètre par défaut @PathParam,

  • query correspond à @QueryParam,

  • form correspond à @FormParam,

  • header correspond à @HeaderParam.

  • matrix correspond à @MatrixParam.

  • multipart correspond @Multipart de CXF, représentant le corps de la requête. Il peut être utilisé avec la méthode POST ou PUT HTTP.

Note

Il est recommandé de définir les valeurs par défaut de vos paramètres facultatifs (Header, Query, Form). pour ce faire, renseignez les colonnes Default du schéma.

HTTP Verb : Sélectionnez une méthode HTTP (GET/POST/PUT/PATCH/DELETE/OPTIONS/HEAD) dans la liste.

URI pattern : Renseignez ce champ avec les URIs RESTful décrivant la ressource.

Consumes : Sélectionnez dans la liste le type de format du contenu consommé que le composant utilise, entre XML or JSON, XML, JSON, Form, Multipart et Any lorsque la méthode HTTP est POST, PUT ou PATCH.

Produces : Lorsque la méthode HTTP est GET, POST, PUT, PATCH ou DELETE, sélectionnez dans la liste le type de format du contenu produit que le composant utilise, entre XML or JSON, XML, JSON, HTML et Any, ou sélectionnez <oneway> dans la liste pour accepter les requêtes à sens unique.

Streaming : Cochez cette case pour mettre en flux les données de réponse par morceaux, afin que les grands volumes de données puissent être traités efficacement.

 Use Service Locator

Cochez cette case pour activer le Service Locator. Cela maintient la disponibilité du service et permet de répondre aux demandes et de respecter les (SLAs). Spécifiez l'espace de noms du Service ainsi que le nom du Service dans les champs correspondants.

 Use Service Activity Monitor

Cochez cette case pour activer le Service Activity Monitor. Il capture les événements et stocke les informations afin de faciliter les analyses en profondeur de l'activité des services et de suivre les messages via une transaction métier. Cette option peut être utilisée, entre autres, pour analyser le temps de réponse du service, identifier les modèles de trafic ou effectuer une analyse de cause racine.

 

Use Authentication (ESB runtime only)

Cochez cette case pour activer l'option d'authentification dans ce service. Sélectionnez Basic HTTP ou SAML Token. Cette option fonctionne uniquement dans le Runtime.

 

Use Business Correlation

Cochez cette case pour activer l'option de corrélation, afin que les appels en chaîne de services soient groupés sous le même ID de corrélation ID. Le tRESTRequest extrait l'ID de corrélation de l'en-tête de la requête et le stocke dans la variable du composant pour usage ultérieur dans le flux.

Si cette option n'est pas activée du côté client, un ID de corrélation est automatiquement généré dans le tRESTRequest.

Advanced settings

Log messages

Cochez cette case pour enregistrer l'échange de messages entre le service et le consommateur.

 

Wrap JSON Request

Cochez cette case pour entourer la requête JSON d'un élément root.

 

Convert JSON values to String in response

Cochez cette case pour convertir les valeurs JSON en format String dans la réponse.

Service Locator Customer Properties

Cette table apparaît lorsque la case Use Service Locator est cochée. Vous pouvez ajouter autant de lignes que nécessaire afin de personnaliser les propriétés correspondantes. Saisissez entre guillemets le nom et la valeur de chaque propriété dans le champ Property Name et Property Value respectivement.

 

Service Activity Customer Properties

Cette table apparaît lorsque la case Use Service Activity Monitor est cochée. Vous pouvez ajouter autant de lignes que nécessaire afin de personnaliser les propriétés correspondantes. Saisissez entre guillemets le nom et la valeur de chaque propriété dans le champ Property Name et Property Value respectivement.
 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log, aussi bien au niveau du Job qu'au niveau de chaque composant.

Global Variables

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier.

URI : URI de la requête REST. Cette variable est une variable Flow et retourne une chaîne de caractères.

URI_BASE : URI de base de la requête REST. Cette variable est une variable Flow et retourne une chaîne de caractères.

URI_ABSOLUTE : URI absolue de la requête REST. Cette variable est une variable Flow et retourne une chaîne de caractères.

HTTP_METHOD : méthode HTTP. Cette variable est une variable Flow et retourne une chaîne de caractères.

ATTACHMENT_HEADERS : en-têtes des pièces jointes de la requête REST. Cette variable est une variable Flow et retourne une liste des valeurs des en-têtes des pièces jointes.

ATTACHMENT_FILENAMES : nom des fichiers des pièces jointes de la requête REST. Cette variable est une variable Flow et retourne tous les noms de fichiers des pièces jointes.

PRINCIPAL_NAME : nom du Principal de la requête REST. Cette variable est une variable Flow et retourne une chaîne de caractères.

CORRELATION_ID : l'ID de corrélation par lequel regrouper les appels de services en chaîne. Cette variable est une variable Flow et retourne une chaîne de caractères.

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant permet d'exposer un Job Talend en tant que service et de transmettre une requête à un service dans un Job puis retourne les résultats du Job en tant que réponse du service.

Le composant tRESTRequest doit être utilisé avec le tRESTResponse afin de fournir les résultats d'un Job en tant que réponse, dans le cas d'une communication de style requête-réponse.

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

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.

Scénario 2 : Utiliser les paramètres URI Query pour explorer les données d'une base de données

Ce scénario décrit comment utiliser les paramètres URI query dans le tRESTRequest afin d'explorer les données d'une base de données et d'envoyer la réponse via le tRESTResponse.

Pour ce faire, vous devez créer deux sous-jobs connectés à l'aide d'un lien OnSubjobOk. Ainsi, les deux sous-jobs seront exécutés séquentiellement. Pour plus d'informations concernant les connexions Trigger, consultez le Guide utilisateur du Studio Talend. Le premier sous-job crée et alimente la base de données. Le second permet d'explorer la base de données via le service REST.

Créer le premier sous-job

Pour ce faire, procédez comme suit :

  1. Déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tFixedFlowInput de la famille Misc et tMysqlOutput de la famille Databases > Mysql.

  2. Reliez le tFixedFlowInput au tMysqlOutput à l'aide d'un lien Row > Main.

  3. Double-cliquez sur le tFixedFlowInput pour afficher sa vue Basic settings :

  4. Cliquez sur le bouton [...] à côté du champ Edit schema pour ouvrir l'éditeur du schéma.

  5. Dans l'éditeur du schéma, cliquez trois fois sur le bouton [+] afin d'ajouter trois lignes. Paramétrez-les comme dans la capture d'écran.

  6. Cliquez sur OK.

  7. Retournez dans les propriétés du tFixedFlowInput, dans sa vue Basic settings. Dans la zone Mode, sélectionnez l'option Use inline table.

  8. Sous le tableau, cliquez trois fois sur le bouton [+] afin d'ajouter trois lignes.

  9. Dans le tableau, cliquez sur le champ id de la première ligne et saisissez 1.

  10. Cliquez sur le champ firstname de la première ligne, appuyez sur les touches Ctrl+Espace pour afficher la liste d'autocomplétion et sélectionnez la variable TalendDataGenerator.getFirstName() dans la liste.

  11. Cliquez sur le champ lastname de la première ligne, appuyez sur les touches Ctrl+Espace pour afficher la liste d'autocomplétion et sélectionnez la variable TalendDataGenerator.getLastName() dans la liste.

  12. Répétez l'opération pour les lignes suivantes, afin d'obtenir les mêmes paramètres que dans la capture d'écran.

  13. Double-cliquez sur le tMysqlOutput pour afficher sa vue Basic settings.

  14. Dans la liste Property Type, laissez sélectionné le mode Built-in et renseignez les champs Host, Port, Database, Username et Password manuellement. Si vous avez centralisé vos informations de connexion à la base de données dans le nœud Metadata > DB Connections du Repository, vous pouvez sélectionner Repository dans la liste. Les champs seront automatiquement renseignés.

    Pour plsu d'informations concernant le stockage des métadonnées, consultez le Guide utilisateur du Studio Talend.

  15. Dans le champ Table, saisissez le nom de la table dans laquelle les données vont être chargées, par exemple : users.

  16. Dans la liste Action on table, sélectionnez Drop table if exists and create, puis sélectionnez Insert dans la liste Action on data.

  17. Cliquez sur Sync columns pour récupérer le schéma provenant du composant précédent.

Créer le second sous-job

Pour ce faire, procédez comme suit :

  • Glissez-déposez les composants suivants, comme dans la première capture d'écran.

    • Un tRESTRequest et un tRESTResponse de la famille ESB > REST,

    • un tFlowToIterate de la famille Orchestration,

    • un tMysqlInput de la famille Databases > Mysql,

    • un tXMLMap de la famille Processing.

Configurer le composant tRESTRequest

Pour ce faire, procédez comme suit :

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

  2. Renseignez le champ REST Endpoint avec l'emplacement de l'URI où le service Web REST-ful sera accessible pour les requêtes. Par exemple, "http://localhost:8088/users".

  3. Cliquez sur le bouton [+] pour ajouter une ligne dans le tableau REST API Mapping.

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

  5. Dans la boîte de dialogue, nommez le flux de sortie getUsers. Un éditeur de schéma s'ouvre.

  6. Dans l'éditeur de schéma, cliquez deux fois sur le bouton [+] pour ajouter deux lignes et paramétrez-les comme dans la capture d'écran ci-dessus.

  7. Cliquez sur OK.

  8. Retournez dans les propriétés du tRESTRequest, dans sa vue Basic settings, sélectionnez GET dans la liste de la colonne HTTP Verb.

  9. Laissez la colonne URI Pattern telle qu'elle est.

Vous avez créé le flux de sortie du tRESTRequest, vous pouvez donc utiliser le lien correspondant pour le connecter au composant suivant :

  1. Connectez le tRESTRequest au tFlowToIterate à l'aide d'un lien Row > getUsers.

  2. Laissez les paramètres du tFlowToIterate tels qu'ils sont.

  3. Connectez le tFlowToIterate au tMysqlInput à l'aide d'un lien Row > Iterate.

Configurer le composant tMysqlInput

Pour ce faire, procédez comme suit :

  1. Double-cliquez sur le tMysqlInput pour afficher sa vue Basic settings.

  2. Dans la liste Property Type, sélectionnez Built-in et renseignez les champs Host, Port, Database, Username et Password manuellement. Si vous avez centralisé vos informations de connexion dans le nœud Metadata > DB Connections du Repository, vous pouvez sélectionner Repository dans la liste. Les champs seront automatiquement renseignés.

    Pour plus d'informations concernant le stockage des métadonnées, consultez le Guide utilisateur du Studio Talend.

  3. Dans la liste Schema, sélectionnez Built-in et cliquez sur le bouton [...] à côté du champ Edit schema.

  4. Dans l'éditeur de schéma, définissez le schéma exactement comme celui du tFixedFlowInput.

  5. Dans le champ Table Name, renseignez le nom de la table dans laquelle les données sont stockées : users.

  6. Dans la liste Query Type, sélectionnez Built-in et renseignez le champ Query avec la requête SQL suivante, permettant d'explorer les données de la base de données via la requête d'URI définie dans le composant tRESTRequest

    "select * from users where id >= " + globalMap.get("getUsers.from") + " and  id <= " + globalMap.get("getUsers.to")
Configurer le composant tXMLMap
  1. Cliquez-droit sur le composant tMysqlInput, maintenez et déposez sur le tXMLMap afin de connecter les deux composants.

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

  3. Cliquez sur le bouton [+] dans le coin supérieur droit afin d'ajouter une sortie. Nommez-la ResponseUsers.

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

    Nommez la première colonne body et paramétrez son Type à Document.

    Nommez la seconde colonne string et paramétrez son Type à String.

  5. Cliquez-droit sur le nœud root, sélectionnez Rename dans la liste et renommez-le users

  6. Cliquez-droit sur le nœud users et sélectionnez Create Sub-Element afin de créer un sous-élément. Nommez le sous-élément user dans la boîte de dialogue qui apparaît.

  7. Cliquez-droit sur le nœud user créé à l'étape précédente et sélectionnez As loop element.

  8. Sélectionnez la colonne id de la table row2, à gauche, et déposez-la sur le nœud user de la table ResponseUsers, à droite.

  9. Dans la boîte de dialogue [Selection], sélectionnez l'option Create as attribute of target puis cliquez sur OK.

  10. Sélectionnez les colonnes firstname et lastname de la table row2et déposez-les sur le nœud user de la table ResponseUsers.

  11. Dans la boîte de dialogue [Selection], sélectionnez l'option Create as sub-element of target node et cliquez sur OK.

  12. Cliquez sur l'icône de clé anglaise, en haut de la table ResponseUsers pour ouvrir le panneau de paramétrage.

  13. Paramétrez la fonctionnalité All in one à true. Ainsi, toutes les données XML sont écrites dans un seul flux.

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

Configurer le composant tRESTResponse
  1. Connectez le tXMLMap au tRESTResponse à l'aide d'un lien Row > ResponseUsers.

  2. Le schéma défini dans le tXMLMap est automatiquement récupéré par le tRESTResponse. Laissez les autres paramètres tels qu'ils sont.

Connecter les deux sous-jobs

Les deux sous-jobs sont créés, vous pouvez donc les connecter.

  1. Cliquez-droit sur le composant tFixedFlowInput du premier sous-job.

  2. Sélectionnez Trigger > OnSubjobOk dans la liste.

  3. Cliquez sur le composant tRESTRequest du second sous-job.

Ainsi, lors de l'exécution du Job, le second sous-job est exécuté uniquement si l'exécution du premier s'est déroulée correctement.

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.

    Par exemple, utilisez la requête d'URI ?to=2 afin de récupérer les données des deux premiers utilisateurs.

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

    Pour un cas d'utilisation appelant ce service REST à l'aide de composants Talend Open Studio for ESB, consultez Scénario 1 : Obtenir des informations sur un utilisateur en interagissant avec un service RESTful.

Scénario 3 : Service REST acceptant des requêtes HTTP POST

Ce scénario décrit un Job composé de deux sous-jobs : le premier sous-job expose un service REST acceptant des requêtes HTTP POST de clients REST, écrivant des données dans une base de données après réception d'une requête HTTP et affichant les informations de l'échange serveur-client dans la console de la vue Run. Le second sous-job affiche les résultats des mises à jour de la base de données.

Construire le Job

  1. Créez un Job et ajoutez les composants suivants au Job en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette : un tRESTRequest, un tMysqlOutput, un tXMLMap et un tRESTResponse.

  2. Connectez le tRESTRequest au composant tMysqlOutput à l'aide d'un lien Row > Main et renommez le flux de sortie request dans cet exemple.

  3. Reliez le composant tMysqlOutput au tXMLMap à l'aide d'un lien Row > Main.

  4. Connectez le composant tXMLMap au tRESTResponse à l'aide d'un lien Row > Main que vous renommez response, par exemple. Cliquez sur OK dans la boîte de dialogue qui s'ouvre afin d'accepter la propagation du schéma du tRESTResponse.

  5. Ajoutez un tMysqlInput et un tLogRow au Job en saisissant leur nom dans l'espace de modélisation graphique ou en les déposant depuis la Palette. Reliez le tMysqlInput au tLogRow à l'aide d'un lien Row > Main.

  6. Connectez le tMysqlOutput au tMysqlInput à l'aide d'un lien Trigger > OnComponentOk afin de relier les deux sous-jobs.

Configurer les composants

Configurer les paramètres de la requête REST

  1. Double-cliquez sur le composant tRESTRequest pour ouvrir sa vue Basic settings.

  2. Renseignez le champ REST Endpoint en saisissant l'emplacement de l'URI où le service REST est accessible pour les requêtes, "http://localhost:8045/users" dans cet exemple.

  3. Cliquez sur le nom du flux de sortie, request dans cet exemple, dans la colonne Output Flow de la table REST API Mapping pour afficher le bouton [...]. Cliquez sur ce bouton pour ouvrir la boîte de dialogue [Schema]. Définissez comme suit le schéma pour le flux request. Ajoutez trois colonnes :

    • id, de type Integer, de longueur (Length) 2. Cochez la case Key pour en faire la colonne clé,

    • first_name, de type String,

    • last_name, de type String.

    Cela fait, cliquez sur OK afin de valider les paramètres du schéma et fermer la boîte de dialogue.

  4. Cliquez sur la colonne HTTP Verb et sélectionnez POST dans la liste.

  5. Dans la colonne URI Pattern, saisissez le modèle d'URI des requêtes POST, "/post/{id}/{first_name}/{last_name}", dans cet exemple.

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

  6. Cliquez sur l'onglet Advanced settings et cochez la case Log messages.

Configurer les paramètres de la base de données et de la réponse

  1. Double-cliquez sur le composant tMysqlOutput pour ouvrir sa vue Basic settings.

  2. Dans la liste Property Type, laissez Built-in sélectionné et renseignez manuellement les détails de connexion à la base de données dans les champs Host, Port, Database, Username et Password.

    Si vous avez centralisé vos informations de connexion à la base de données dans le nœud Metadata > DB Connections du Repository, vous pouvez choisir Repository dans la liste Property Type et sélectionner la connexion centralisée afin de renseigner automatiquement les champs. Pour plus d'informations concernant le stockage des métadonnées, consultez le Guide utilisateur du Studio Talend.

  3. Renseignez le champ Table avec le nom de la table cible de la base de données, users dans cet exemple.

  4. Sélectionnez les actions à effectuer sur la table de la base de données et sur les données selon vos besoins, dans les listes Action on table et Action on data, respectivement. Dans cet exemple, la table cible est créée si elle n'existe pas dans la base de données spécifiée. Les données provenant des requêtes clients sont insérées, ou mises à jour si elles existent déjà, dans la table de la base de données.

  5. Cliquez sur le bouton Sync columns afin de synchroniser le schéma de la table et le schéma d'entrée.

  6. Double-cliquez sur le composant tXMLMap pour ouvrir son éditeur de mapping.

  7. Renommez le nœud root dans la table de sortie : cliquez-droit sur le nœud, sélectionnez Rename dans le menu contextuel et spécifiez un nouveau nom dans la boîte de dialogue qui s'ouvre, user dans cet exemple.

  8. Sélectionnez les trois colonnes de la table d'entrée et déposez-les sur le nœud user, puis sélectionnez l'option Create as sub-element of target node dans la boîte de dialogue afin de configurer ces colonnes comme des sous-éléments du nœud user. Cela fait, cliquez sur OK afin de valider les mappings et fermer l'éditeur.

  9. Double-cliquez sur le composant tRESTResponse et configurez les paramètres de réponse selon vos besoins. Dans cet exemple, laissez les paramètres par défaut.

Configurer l'affichage des résultats

  1. Double-cliquez sur le tMysqlInput pour ouvrir sa vue Basic settings.