Utilisation de REST avec des objets Web Content Manager

Différents processus sont utilisés lorsque des objets sont créés et mis à jour à l'aide de REST.

Types d'objet

La liste complète des types d'objets pris en charge est documentée ici : types d'objet REST.

Représentations de contenu

Documents d'entrée Atom
Chaque objet de contenu Web est associé à un document d'entrée Atom. Le document d'entrée fournit l'accès aux propriétés de métadonnées courantes de l'objet, comme le titre et la description, ainsi que des liens aux objets liés et des informations de contrôle d'accès.
Le type de support par défaut d'un document d'entrée est application/atom+xml. Toutefois, des représentations application/json peuvent également être obtenues. Vous pouvez extraire les documents d'entrée en exécutant une opération HTTP GET sur la ressource d'entrée. Les URI de ressource d'entrée peuvent être obtenues :
  • Le document de service
  • Les liens vers d'autres documents d'entrée
  • Les liens contenus dans des documents de flux
  • Utilisation de POC pour résoudre un ID
Exemples de lien vers des documents d'entrée :
<link rel="edit" href="/wps/mycontenthandler/!ut/p/wcmrest/SiteArea/c6b00ee6-d628-4cbd-9e65-15c90f2093a6"/>
<link rel="parent" href="/wps/mycontenthandler/!ut/p/wcmrest/item/ae6a3632-a1b5-456a-866e-e9baab84fe29"/>
<link rel="library" href="/wps/mycontenthandler/!ut/p/wcmrest/item/54a68ca2-c550-4385-966f-b0b612147547"/>
Ressources de support
En plus du document d'entrée, la plupart des objets sont également associés à une ressource de support. La ressource de support stocke le contenu de l'objet, par exemple le code HTML ou une image. L'emplacement de la ressource de support est indiqué dans le lien edit-media du document d'entrée de l'objet. Les adresses URL de ressource de support prennent en charge les opérations HTTP GET et PUT.
<link rel="edit-media" type="text/html" 
href="/wps/mycontenthandler/!ut/p/wcmrest/PresentationTemplate/02da6e9d-20ca-4c54-ae4a-f1114fa8e948"/>

Négociation de contenu

Lorsqu'une ressource prend en charge plusieurs représentations avec différents types de contenu, les clients peuvent utiliser la négociation de contenu pour demander une représentation spécifique. Par exemple, des documents d'entrée sont disponibles dans application/atom+xml; type=entry et application/json. Un client peut spécifier le type de support qu'il admet de deux façons :
En-tête HTTP Accept
Accept: application/atom+xml
Paramètre de demande mime-type
GET /wps/mycontenthandler/!ut/p/wcmrest/SiteArea/c6b00ee6-d628-4cbd-9e65-15c90f2093a6?mime-type=application%2Fjson HTTP/1.0
Remarque : Les méthodes utilisées en vue d'indiquer le type d'acceptation pour tous les types de support pris en charge sont répertoriées dans Types de support pris en charge.

Chemin d'accès à un élément

Le chemin d'accès à un élément demandé peut être inclus à l'aide du paramètre d'URL options=item-path. Par exemple:


HTTP 1.1 GET /wps/mycontenthandler/wcmrest/SiteArea/c0b72020-10b7-4197-a436-62a1d94ce03f?options=item-path

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm">
    ...
    <wcm:path>
        <wcm:pathElement>
            <wcm:title xml:lang="en-GB">rest_query_library</wcm:title>
            <wcm:name>rest_query_library</wcm:name>
            <wcm:link label="Read" rel="alternate" xml:lang="en-GB" href="/wps/mycontenthandler/wcmrest/Library/69452890-2f40-4ce6-90af-e65620a552af"/>
        </wcm:pathElement>
        <wcm:pathElement>
            <wcm:title xml:lang="en-GB">site_b</wcm:title>
            <wcm:name>site_b</wcm:name>
            <wcm:link label="Read" rel="alternate" xml:lang="en-GB" href="/wps/mycontenthandler/wcmrest/SiteArea/c44dc8e1-eea5-4262-842c-562788a34461"/>
        </wcm:pathElement>
    </wcm:path>
…
</entry>
   

Exemple d'entrée

Ce code est un exemple au format application/atom+xml :
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
    <id>3aabfe14-cc9e-4eb5-ad06-d4fc8fd2f1df</id>
    <title>SampleHTMLComponent</title>
    <link rel="edit" href="/wps/mycontenthandler/!ut/p/wcmrest/LibraryHTMLComponent/3aabfe14-cc9e-4eb5-ad06-d4fc8fd2f1df"/>
    <link rel="edit-media" type="text/html" href="/wps/mycontenthandler/!ut/p/wcmrest/LibraryHTMLComponent/3aabfe14-cc9e-4eb5-ad06-d4fc8fd2f1df"/>
    <link rel="library" href="/wps/mycontenthandler/!ut/p/wcmrest/item/c98d11e1-7f2a-480e-9aac-40eb1949cbda"/>
    <link rel="create-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/3aabfe14-cc9e-4eb5-ad06-d4fc8fd2f1df/create-draft"/>
    <link rel="change-to-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/3aabfe14-cc9e-4eb5-ad06-d4fc8fd2f1df/change-to-draft"/>
    <link rel="versions" href="/wps/mycontenthandler/!ut/p/wcmrest/item/3aabfe14-cc9e-4eb5-ad06-d4fc8fd2f1df/versions"/>
    <link rel="add-attachment" href="/wps/mycontenthandler/!ut/p/wcmrest/LibraryHTMLComponent/3aabfe14-cc9e-4eb5-ad06-d4fc8fd2f1df/attachments"/>
    <updated>2011-05-30T02:05:44.574Z</updated>
    <author>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!wtpqWRz_9ePiiVHk1Rw2cw/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
        <name>wpsadmin</name>
    </author>
    <wcm:owner>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!wtpqWRz_9ePiiVHk1Rw2cw/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
        <name>wpsadmin</name>
    </wcm:owner>
    <wcm:name>SampleHTMLComponent</wcm:name>
    <wcm:type>LibraryHTMLComponent</wcm:type>
    <wcm:state>PUBLISHED</wcm:state>
   </entry>