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ésentationsapplication/jsonpeuvent également être obtenues. Vous pouvez extraire les documents d'entrée en exécutant une opérationHTTP GETsur 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>