Accéder au contenu principal Passer au contenu complémentaire

Mise à jour partielle d'un enregistrement

Vous pouvez mettre à jour partiellement un enregistrement de données dans le conteneur de données spécifié. L'enregistrement sera fourni dans le contenu de requête au format XML.
Requête
PATCH /services/rest/data/{containerName}

Le corps est une représentation XML de l'enregistrement à mettre à jour. L'élément Id dans le corps de la requête détermine quel enregistrement sera mis à jour.

Paramètres
  • containerName : valeur String qui spécifie le nom du conteneur de données dans lequel vous souhaitez mettre à jour partiellement un enregistrement de données.
  • container : valeur String qui représente le type du conteneur de données. La valeur est soit MASTER (default), soit STAGING.
  • updateReport : valeur Boolean contrôlant s'il faut générer ou non une entrée dans le journal (rapport de mise à jour). Par défaut, la valeur est true.
  • pivot : valeur String qui représente le chemin XPath vers un élément multi-occurrences dans lequel des données doivent être ajoutées, remplacées ou supprimées dans l'élément de votre choix.
  • overwrite : valeur booléenne qui contrôle l'écrasement de la liste de valeurs existante pour un élément multi-occurrences au profit d'une nouvelle liste, ou l'ajout des nouvelles valeurs à la liste existante sans dédoublonnage. Par défaut, la valeur est true, ce qui signifie que la liste de valeurs existante sera remplacée par la nouvelle. Cette valeur n'est pas valide lorsque le paramètre delete est défini à true.
  • delete : valeur booléenne qui contrôle la suppression des valeurs correspondant aux valeurs d'entrée pour un élément multi-occurrences. Par défaut, la valeur est false.
  • key : valeur String qui représente le chemin XPath relatif au pivot et qui permet d'identifier un sous-élément de type complexe d'un élément multi-occurrences défini par le paramètre pivot. Si ce paramètre n'est pas spécifié, tous les sous-éléments de l'élément multi-occurrences ayant un XPath qui correspond à celui du sous-élément du flux XML d'entrée seront remplacés. Si plus d'un sous-élément correspond à la clé, le premier sera mis à jour. Si aucun sous-élément ne correspond à la clé, elle sera ajoutée à la fin.
  • position : valeur Integer qui représente l'emplacement des nouvelles valeurs ajoutées. Si ce paramètre n'est pas spécifié, les nouvelles valeurs seront ajoutées à la fin.
En-têtes
  • Content-Type : application/xml ou text/xml
    Note InformationsRemarque : Si la déclaration XML est incluse dans le contenu de la requête XML et que l'attribut d'encodage est utilisé, vous devez définir sa valeur à UTF-8.
  • Authorization : schéma d'authentification basique
Réponse Aucun contenu.
Statut
  • 200 OK : l'opération a bien été exécutée et l'enregistrement de données identifié par l'élément Id est partiellement mis à jour selon l'entrée fournie.
  • 400 BAD REQUEST : la requête contient un paramètre invalide, par exemple un nom de stockage inexistant, un mauvais document XML ou un ID d'enregistrement non existant.
  • 401 UNAUTHORIZED : la connexion échoue, l'identifiant ou le mot de passe est invalide.
  • 403 FORBIDDEN : l'autorisation requise est manquante, par exemple pas d'autorisation en écriture (WRITE).
  • 404 NOT FOUND : la ressource n'existe pas, par exemple l'URL du service est invalide.
  • 500 INTERNAL SERVER ERROR : autres erreurs.
Limitation Cette API REST ne supporte pas la mise à jour partielle des enregistrements pour l'entité Role dans le conteneur de données système PROVISIONING.

Exemple de requête

Supposons qu'il existe un enregistrement comme celui ci-dessous dans une entité Famille :

<Family>
    <Id>1</Id>
    <Name>Lee</Name>
    <Kids>
        <Kid>
            <Name>David</Name>
            <Age>10</Age>
            <Habits>
                <Habit>Basketball</Habit>
                <Habit>Tennis</Habit>
            </Habits>
        </Kid>
        <Kid>
            <Name>James</Name>
            <Age>8</Age>
        </Kid>
        <Kid>
            <Name>Kate</Name>
            <Age>6</Age>
        </Kid>
    </Kids>
</Family>

La valeur delete définie comme true, la valeur pivot définie comme Family/Kids/Kid, et la valeur clé définie comme /Name vont permettre à l'exemple de requête suivant de supprimer l'élément Kid aux occurences multiples identifié par James :

<Person>
    <Id>1</Id>
    <Kids>
        <Kid>
            <Name>James</Name>
        </Kid>
    </Kids>
</Person>

La valeur overwrite définie comme false, la valeur delete définie comme false, la valeur pivot définie comme Family/Kids/Kid[1]/Habits/Habit (Kid[1] indique le premier enfant), la valeur key non spécifiée ou définie comme . et la valeur position définie comme 2 vont permettre à l'exemple de requête suivant d'ajouter deux valeurs à l'élément Habit aux occurences multiples après </Habit>Basketball</Habit> pour le premier enfant :

<Person>
    <Id>1</Id>
    <Kids>
        <Kid>
            <Habits>
                <Habit>Football</Habit>
                <Habit>Table tennis</Habit>
            </Habits>
        </Kid>
    </Kids>
</Person>

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.