Valider des enregistrements de données par rapport au stockage maître via l'API REST
Avant d'être sauvegardé dans la base de données maître, un enregistrement de données doit passer par un processus de validation, qui implique la vérification de l'enregistrement de données par rapport au schéma de la base de données, aux contraintes de clés étrangères, aux règles de validation et au processus Before-Saving (s'il en existe un) définis dans l'entité à laquelle l'enregistrement de données appartient.
Validation des enregistrements de données
Requête
POST /data/{containerName}/validate
URL de la requête
http://{serverurl}/talendmdm/services/rest/data/{containerName}/validate?container={containerType}
Paramètres de la requête
- containerName : Il s'agit d'une valeur String qui spécifie le nom du conteneur de données par rapport auquel vous souhaitez valider des enregistrements de données.
- containerType : Il s'agit d'une valeur String qui représente le type de conteneur de données. La valeur est soit ‘MASTER’ (par défaut), soit ‘STAGING’.
- returnSource : Il s'agit d'une valeur booléenne qui indique s'il faut inclure les enregistrements envoyés dans la réponse. La valeur par défaut est false.
- beforeSaving : Il s'agit d'une valeur booléenne qui indique s'il faut contourner le processus beforeSaving associé aux enregistrements lors de la validation. Par défaut, la valeur est true. L'opération de validation des données constitue une action immuable et vous pouvez désactiver la vérification par rapport au processus beforeSaving, qui dans certains cas peut modifier les données.
Corps de la requête
Représentation XML du nouvel enregistrement de données que vous souhaitez utiliser pour remplacer l'enregistrement existant.
Élément(s) de l'identifiant dans le corps de la requête qui détermine(nt) l'enregistrement à mettre à jour.
En-têtes
- Content-Type : application/xml
- Authorization : schéma d'authentification basique (Basic)
- Accept : application/xml ou application/json. L'en-tête Accept dit au serveur de retourner du contenu JSON ou XML. Par défaut, le résultat est retourné au format JSON.
Corps de la réponse
Liste des résultats de validation pour chaque enregistrement (au format XML ou JSON) contenant le statut de validité, un message qui peut être vide ou qui peut contenir la raison pour laquelle l'enregistrement de données est invalide. De manière facultative, il peut également contenir les enregistrements envoyés en tant qu'echo.
Par exemple :
<results>
<result>
<isValid>true</isValid>
<message></message>
<sourceXml>
<ProductFamily>
<Id>1</Id>
<Name>Literature</Name>
<ChangeStatus>Approved</ChangeStatus>
</ProductFamily>
</sourceXml>
</result>
<result>
<isValid>false</isValid>
<message>[Error] :-1:-1: cvc-enumeration-valid: Value 'Unknown' is not facet-valid with respect to enumeration '[Pending Rejected Approved]'. It must be a value from the enumeration. [Error] :-1:-1: cvc-type.3.1.3: The value 'Unknown' of element 'ChangeStatus' is not valid.
</message>
<sourceXml>
<ProductFamily>
<Id>2</Id>
<Name>Comics</Name>
<ChangeStatus>Unknown</ChangeStatus>
</ProductFamily>
</sourceXml>
</result>
</results>
Code de la réponse
200 - Si l'opération de validation est exécutée avec succès, ce code de statut est retourné quels que soient les résultats de la validation.
Validation d'un enregistrement de données via l'API REST à l'aide d'un Job
L'exemple suivant montre comment utiliser un Job Talend pour valider un enregistrement de données via l'API REST et ainsi afficher le message de la réponse.
Le Job contient deux composants : le tREST et le tJavaRow :
- le tREST est utilisé pour envoyer la requête HTTP et obtenir la réponse correspondante.
- le tJavaRow est utilisé pour afficher la réponse.
Récupérez le fichier du Job tREST.zip dans l'onglet Téléchargements dans le panneau à gauche de cette page.
Avant de commencer
- Le serveur MDM est en cours de fonctionnement.
- Vous avez déjà démarré le Studio Talend.
- Vous avez déjà importé le projet démo MDM.