Utiliser des métadonnées REST avec des Jobs et des Routes
Une fois que les métadonnées d'API REST sont créées, vous pouvez utiliser le composant tRESTRequest avec des Jobs et cREST avec des Routes.
Dans la vue Basic settings, de l'un des composants tRESTRequest, sélectionnez Repository dans la liste Definition.
Vous pouvez également obtenir ce résultat en glissant-déposant une API depuis le nœud des métadonnées vers un nouveau Job afin de créer un nouveau composant tRESTRequest déjà configuré.
Le champ REST Endpoint (Endpoint REST) est renseigné à l'aide de l'URL sans schéma, hôte ou port. Par exemple, si l'URL source est http://myhost:8090/v1, seul "/v" est conservé pour l'endpoint.
Dans la table REST API Mapping, les champs HTTP Verb, URI Pattern, Consumes et Produces sont renseignés selon les informations présentes dans la spécification de l'API.
- Si l'ID de l'opération existe dans la spécification, cette valeur est utilisée dans la colonne Output Flow. Dans le cas contraire, le champ de résumé dans la spécification est limité à 120 caractères. Les blancs sont remplacés par des tirets bas.
- Si les champs d'ID de l'opération et de résumé n'existent pas dans la spécification, ou s'ils contiennent des caractères non supportés autres que les blancs, la colonne Output Flow reste vide et vous devez la renseigner manuellement.
- Un mapping statique entre les types primitifs OAS 2 et les types de schémas Talend (entier, chaîne de caractères, etc.).
- Les types de paramètres suivants sont supportés et sont ajoutés dans le champ Comment du schéma.
- Valeur du paramètre Path dans Comment : path
- Valeur du paramètre Query dans Comment : query
- Valeur du paramètre Header dans Comment : header
- Les types de paramètres suivants ne sont pas supportés pour le champ Comment lors de l'import, mais ils peuvent être ajoutés manuellement si nécessaire :
- Paramètre Form
- Paramètre Matrix
- multipart
- Si la spécification contient des valeurs par défaut pour les paramètres, les valeurs par défaut de ces paramètres (Header Query, Path) sont ajoutées dans la colonne Default du schéma.
- Les types de données Object, Array, Date, Time et Datetime sont ajoutés en tant que colonnes de type String lors de l'import. Ces types étant mappés comme des chaînes de caractères, le transfert de la valeur par défaut pendant l'import n'est pas supporté.
- La colonne Nullable n'est pas importée, mais elle reste sur la valeur par défaut pendant l'import.
Les informations de sécurité configurées dans API Designer ou dans une spécification OAS 2.0 ne sont pas importées dans le composant tRESTRequest. Vous pouvez choisir parmi les options de sécurité fournies par Talend ESB dans l'implémentation du Job.
Lorsque vous ouvrez un Job contenant un composant tRESTRequest qui référence des métadonnées d'API depuis le référentiel, le Studio Talend vérifie si une mise à jour est nécessaire en fonction du contenu des métadonnées liées. Si les métadonnées d'API sont mises à jour dans le référentiel, la boîte de dialogue suivante vous invite à confirmer la mise à jour des paramètres du composant tRESTRequest. Vous pouvez choisir de garder ou non la valeur de l'endpoint existante.
Lorsque vous ouvrez un Job avec un tRESTRequest faisant référence à des métadonnées d'API supprimées, vous serez invité à passer au mode Built-In.
Le composant cREST peut être initialisé avec une définition d'API depuis les métadonnées dans une Route de la même façon que le TRESTRequest dans un Job.
Pour les services de données et les Routes utilisant soit le composant tRESTRequest, soit le cREST, si l'un des composant REST utilise les métadonnées REST provenant d'API Designer, les actions suivantes sont disponibles dans le menu contextuel :
- Open in API Designer : ouvre une page Web externe affichant la définition d'API dans API Designer.
- Open API documentation : ouvre une page Web externe affichant la documentation de l'API. Pour cela, la documentation de l'API doit être publiée dans Talend Cloud API Designer. Dans le cas contraire, la documentation n'est pas disponible et ne peut pas être affiché avec cette option.
- Open in API Tester : ouvre Talend Cloud API Tester dans votre navigateur Chrome local. Le projet de test sera initialisé avec la définition d'API actuelle si le projet n'existe pas déjà.