Nota do editor: Sabe muito sobre esse assunto? Deseja compartilhar seu conhecimento? Participe hoje do programa IBM Lotus software wiki.
| Wiki do Lotus Quickr (este link reside fora de ibm.com) | Wiki do WebSphere Portal (este link reside fora de ibm.com) |
|---|
O Lotus Quickr é um software de colaboração de equipe projetado para transformar a forma como os documentos e conteúdo de Web são compartilhados, ajudando os usuários a colaborarem e a trabalharem de forma eficiente em equipes. Ele oferece um conjunto de APIs públicas para acessar conteúdo dentro do Lotus Quickr e criar soluções adequadas para as necessidades dos clientes.
Em versões do Lotus Quickr anteriores à 8.1.1, as APIs públicas suportam apenas serviços relacionados a documentos. Na versão 8.1.1, o Lotus Quickr aprimora os serviços baseados em REST (Representational State Transference), oferecendo os recursos para que os usuários obtenham, criem, atualizem e excluam conteúdo de wiki e blog através dos serviços baseados em REST. Os usuários também podem realizar operações coordenadas em comentários para conteúdo de wiki e blog.
Para ajudar a explicar o conteúdo de wiki e blog com serviços baseados em REST, descrevemos os padrões URL suportados, métodos HTTP e parâmetros de solicitação. Além disso, são fornecidas amostras de solicitações e respostas, bem como de operações CRUD (create, read, update, and delete) em conteúdo e comentários de wiki e de blog.
Finalmente, apresentamos código de amostra em produção para listar as entradas de blog em uma biblioteca, criar uma entrada de blog e comentar em uma entrada de blog para ajudar a compreender melhor esses serviços baseados em REST.
Para aproveitar ao máximo este artigo é preciso que você entenda o seguinte:
- Lotus Quickr
- serviços REST
- formato de organização ATOM
- Conhecimento básico do IBM WebSphere® Portal e IBM Lotus Web Content Management
- Programação Java™
Nesta seção, discutimos o contexto servlet e todos os serviços suportados para wikis e blogs, inclusive o padrão URL de contexto servlet, métodos HTTP suportados e parâmetros de solicitação. Uma solicitação e resposta de amostra para cada serviço também é listada.
Diferente dos serviços de documento baseados em REST do Lotus Quickr, o contexto servlet de serviços REST para wiki e blog é conteúdo da web/REST, ao invés de dm/ATOM, e é descrito como segue:
- Todos os caminhos completos de serviços devem estar no padrão <protocolo>://<host>:<porta>/webcontent/rest/<url_padrão>. Por exemplo, se o protocolo for HTTP e o servidor for lwptsthink43.cn.example.com e a porta 10038, então, para este serviço o caminho completo seria:
http://lwptsthink43.cn.example.com:10038/webcontent/rest/introspection - Este serviço retorna um documento de serviço contendo um link para bibliotecas e feed.
- Somente o método GET é suportado neste serviço.
- Esse método GET requer autenticação e não suporta acesso anônimo.
- Nenhum argumento extra ou cabeçalho HTTP é suportado.
Abaixo há uma solicitação e resposta de amostra (ver listagem 1).
Solicitação de amostra: GET /webcontent/rest/introspection HTTP/1.1
Listagem 1. Amostra de resposta
<?xml version="1.0" encoding="UTF-8"?>
<service xmlns="http://purl.org/atom/app#"
xmlns:atom="http://www.w3.org/2005/Atom">
<workspace>
<atom:title type="text">MediaLibrary Documents</atom:title>
<collection
href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/libraries/feed">
<atom:title type="text">All Libraries</atom:title>
<accept>application/*,image/*,*/*</accept>
</collection>
<collection href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/libraries/
feed?type=wiki">
<atom:title type="text">All wiki libraries</atom:title>
<accept>application/*,image/*,*/*</accept>
</collection>
<collection href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/libraries/
feed?type=blog">
<atom:title type="text">All blog libraries</atom:title>
<accept>application/*,image/*,*/*</accept>
</collection>
</workspace>
</service>
|
Este serviço é descrito como segue:
- Ele retorna um feed das bibliotecas de componente no Lotus Web Content Management.
- Somente o método GET é suportado neste serviço.
- Esse método GET requer autenticação e não suporta acesso anônimo.
Os argumentos suportados estão listados na Tabela 1.
Tabela 1. Argumentos suportados para <host>:<porta>/libraries/feed
| Argumento | Valor | Por encomenda | Descrição |
|---|---|---|---|
| tipo | wiki, blog, todos | Opcional | Limita a lista de bibliotecas ao tipo especificado |
| placeId | id de local | Opcional | Limita a lista às bibliotecas de componentes contidos no local especificado |
| página | 1, 2, 3 e assim por diante | Opcional | Especifica a página a ser recuperada pressupondo tamanho de página constante |
| tamanho da página | 10, 20 e assim por diante | Opcional | Especifica o número de itens a ser incluído em uma solicitação paginada |
| sK | publicado, criado, modificado | Opcional | A chave para classificar a resposta |
| sO | dsc, asc | Opcional | A ordem para classificar a resposta |
| acls | falso, verdadeiro | Opcional | Especifica se as permissões de usuário autenticado serão retornadas em cada biblioteca |
em que, na tabela acima:
- O valor-padrão para cada argumento está em negrito.
- Cada local no argumento placeId pode incluir muitas bibliotecas wiki ou blog; se um usuário especificar a ID de local, então apenas as bibliotecas deste local serão retornadas.
- Se o argumento acls for estabelecido para verdadeiro, as permissões atuais dos usuários em cada recurso são retornadas. As permissões incluem Visualização, Edição, Exclusão e AddChild.
- O Gerente tem todas as permissões; o Editor tem permissões de Visualização, Edição e AddChild; o Contribuidor tem permissões de Visualização e AddChild; e o Leitor tem apenas a permissão de Visualização.
Abaixo há uma solicitação e resposta de amostra (ver listagem 2).
Solicitação de amostra: GET /webcontent/rest/libraries/feed?acls=true HTTP/1.1
Listagem 2. Amostra de resposta
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>urn:lsid:ibm.com:td:libraries</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/libraries/
feed" rel="self"></link>
<category term="library" scheme="tag:ibm.com,2006:td/type" l
abel="library"></category>
<title type="text">All Libraries</title>
<generator uri="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/"
version="1.0">Teamspace Web Content</generator>
<updated>2008-11-26T07:29:05.422Z</updated>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:7a1cd3004be710acb161f18ffc876575</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/lotus/poc/?
uri=wcm%3aa93444004be710aeb181f18ffc876575" rel="alternate"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/entry" rel="edit"></link>
<category term="library" scheme="tag:ibm.com,2006:td/type"
label="library"></category>
<category term="wiki" scheme="tag:ibm.com,2006:td/type"
label="wiki"></category>
<title type="text">Wiki</title>
<summary type="text">Allows the creation of wiki pages with user content by
teamspace members.</summary>
<td:label>7a1bd3804be710aab160f18ffc876575</td:label>
<published>2008-11-12T05:57:50.078Z</published>
<updated>2008-11-25T09:13:58.875Z</updated>
<td:modified>2008-11-12T05:57:50.078Z</td:modified>
<td:created>2008-11-12T05:57:50.078Z</td:created>
<content type="application/atom+xml" src="http://lwptsthink43.cn.ibm.com:10038/
webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/feed"></content>
<td:permissions>Delete,Edit,AddChild,View</td:permissions>
</entry>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:daf4dd004be710a5b135f18ffc876575</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
daf4dd004be710a5b135f18ffc876575/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/lotus/poc/?uri=
wcm%3a7e93bc804be710a9b15bf18ffc876575" rel="alternate"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
daf4dd004be710a5b135f18ffc876575/entry" rel="edit"></link>
<category term="library" scheme="tag:ibm.com,2006:td/type"
label="library"></category>
<category term="blog" scheme="tag:ibm.com,2006:td/type"
label="blog"></category>
<title type="text">Blog</title>
<summary type="text">Allows the posting of blog entries and comments by
teamspace members.</summary>
<td:label>b6006a004be710a5b134f18ffc876575</td:label>
<published>2008-11-12T05:57:47.234Z</published>
<updated>2008-11-25T09:13:59.703Z</updated>
<td:modified>2008-11-12T05:57:47.234Z</td:modified>
<td:created>2008-11-12T05:57:47.234Z</td:created>
<content type="application/atom+xml" src="http://lwptsthink43.cn.ibm.com:10038/
webcontent/rest/library/daf4dd004be710a5b135f18ffc876575/feed"></content>
<td:permissions>AddChild,View</td:permissions>
</entry>
</feed>
|
Este serviço retorna a entrada de uma biblioteca especificada pelo usuário, e somente o método GET é suportado nela.
A tabela 2 mostra o argumento suportado.
Tabela 2. Argumento suportado para library/{library-id}/entry
| Argumento | Valor | Por encomenda | Descrição |
|---|---|---|---|
| acls | falso, verdadeiro | Opcional | Especifica se as permissões de usuário autenticado serão retornadas em cada biblioteca |
Abaixo está a solicitação de amostra e a resposta (ver listagem 3).
Solicitação de amostra: GET /webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/entry?acls=true HTTP/1.1
Listagem 3. Amostra de resposta
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td"> <id>urn:lsid:ibm.com:td:7a1cd3004be710acb161f18ffc876575</id> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7a1cd3004be710acb161f18ffc876575/entry" rel="self" /> <link href="http://lwptsthink43.cn.ibm.com:10038/lotus/poc/?uri= wcm%3aa93444004be710aeb181f18ffc876575" rel="alternate" /> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7a1cd3004be710acb161f18ffc876575/entry" rel="edit" /> <category term="library" scheme="tag:ibm.com,2006:td/type" label="library" /> <category term="wiki" scheme="tag:ibm.com,2006:td/type" label="wiki" /> <title type="text">Wiki</title> <summary type="text">Allows the creation of wiki pages with user content by teamspace members.</summary> <td:label>7a1bd3804be710aab160f18ffc876575</td:label> <published>2008-11-12T05:57:50.078Z</published> <updated>2008-11-25T09:13:58.875Z</updated> <td:modified>2008-11-12T05:57:50.078Z</td:modified> <td:created>2008-11-12T05:57:50.078Z</td:created> <content type="application/atom+xml" src="http://lwptsthink43.cn.ibm.com:10038/ webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/feed" /> <td:permissions>Delete,Edit,AddChild,View</td:permissions> </entry> |
Para este serviço:
- Os métodos GET e POST são suportados.
- POST cria um novo documento na biblioteca especificada (isto é, página de wiki ou postagem em blog).
- GET retorna um feed dos documentos na biblioteca especificada.
Todos os argumentos mostrados na tabela 3 são suportados para o método GET; o método POST suporta o argumento inline e acls para controlar o que é retornado do servidor em resposta à criação de um novo artefato.
Tabela 3. Argumentos suportados para o método GET
| Argumento | Valor | Por encomenda | Descrição |
|---|---|---|---|
| sequencial | falso, verdadeiro | Opcional | As entradas contêm conteúdo real em vez do atributo src com um link para o conteúdo quando sequencial=verdadeiro |
| página | 1, 2, 3 e assim por diante | Opcional | Especifica a página a ser recuperada pressupondo tamanho de página constante |
| tamanho da página | 10, 20 e assim por diante | Opcional | Especifica o número de itens a ser incluído em uma solicitação paginada |
| sK | título, atualizado, publicado, criado, modificado | Opcional | A chave para classificar a resposta |
| sO | dsc, asc | Opcional | A ordem para classificar a resposta |
| acls | falso, verdadeiro | Opcional | Especifica se as permissões de usuário autenticado serão retornadas para cada documento |
Quando o argumento inline está definido como verdadeiro, o elemento <content> da entrada é o conteúdo real da página wiki ou entrada de blog (para obter mais detalhes, consulte a amostra de resposta). Se estiver definido como falso, o elemento <content> da entrada será como segue:
<content src=http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/document/a93444004be710aeb181f18ffc876575/
media type="text/html">
</content>
Abaixo é uma solicitação de amostra e a resposta (consulte a listagem 4):
Para o método GETSolicitação de amostra:
GET /webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/feed?inline=true HTTP/1.1
Listagem 4. Amostra de resposta
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>urn:lsid:ibm.com:td:7a1cd3004be710acb161f18ffc876575</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/feed" rel="self"></link>
<category term="library" scheme="tag:ibm.com,2006:td/type"
label="library"></category>
<title type="text">Wiki</title>
<generator uri="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/" version="1.0">Teamspace
Web Content</generator>
<updated>2008-11-10T03:40:23.469Z</updated>
<collection href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/feed" xmlns="http://purl.org/atom/app#">
<atom:title type="text" xmlns:atom="http://www.w3.org/2005/Atom">
Wiki</atom:title>
<accept>text/html,application/atom+xml</accept>
</collection>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:a93444004be710aeb181f18ffc876575</id>
<title type="text">Welcome to your new Wiki</title>
<published>2007-01-30T21:17:44.220Z</published>
<updated>2008-11-10T03:40:23.469Z</updated>
<td:modified>2008-11-10T03:40:23.469Z</td:modified>
<td:created>2007-01-30T21:17:44.220Z</td:created>
<summary type="text">Use the Team Wiki to communicate thoughts
about project.</summary>
<td:uuid>a93444004be710aeb181f18ffc876575</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts
%2Cc%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3aa93444004be710aeb181f18ffc876575"
rel="alternate"></link>
<content type="html">Use the Team Wiki to communicate thoughts about project,
ideas, and to share information. You can start a thought in the wiki and then watch
as team members respond. Team Wiki is a good place to brainstorm with the team.
<br> Click "Edit Page" to get started.<br> Tip: Use the wiki instead
of email. Because questions and answers are often hidden in personal email, post a
blog to generate quick responses that are visible to the team.<p style="margin:
0px;"></p></content>
<category scheme="tag:ibm.com,2006:td/" label="document"
term="document"></category>
<category scheme="tag:ibm.com,2006:td/" label="page"
term="page"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/document/a93444004be710aeb181f18ffc876575/
entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/document/a93444004be710aeb181f18ffc876575/
entry" rel="edit"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/document/a93444004be710aeb181f18ffc876575/feed"
rel="replies"></link>
</entry>
</feed>
|
Para o método POST
Abaixo há solicitação e resposta da amostra (ver listagens 5 e 6, respectivamente).
Listagem 5. Solicitação de amostra
POST /webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/feed?inline=true HTTP/1.1 Host: lwptsthink43.cn.ibm.com Content-Type: application/msword Content-Length: nnnn Authorization: Basic ... <entry xmlns="http://www.w3.org/2005/Atom"> <content type="html"><p><b> </b> Programmatically created entry.</p> </content> <title type="text">Test Entry Title </title> <summary type="text">Summary for Test Entry Ttile </summary> </entry> |
Listagem 6. Amostra de resposta
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2007 17:17:11 GMT
Content-Length: nnn
Content-Type: application/atom+xml; charset="utf-8"
Location: http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:6df9c6004c127f26bc10fdaa37d7846a</id>
<title type="text">Test Entry Title </title>
<published>2008-11-26T09:32:39.484Z</published>
<updated>2008-11-26T09:32:39.984Z</updated>
<td:modified>2008-11-26T09:32:39.984Z</td:modified>
<td:created>2008-11-26T09:32:39.484Z</td:created>
<summary type="text">Summary for Test Entry Title</summary>
<td:uuid>6df9c6004c127f26bc10fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a6df9c6004c127f26bc10fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/6b1fc9804a9207249ceadc23ebd19157/document/
6df9c6004c127f26bc10fdaa37d7846a/media"></content>
<category scheme="tag:ibm.com,2006:td/" label="document"
term="document"></category>
<category scheme="tag:ibm.com,2006:td/" label="page"
term="page"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry"
rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry"
rel="edit"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/feed"
rel="replies"></link>
</entry>
|
/library/{library-id}/document/{document-id}/entry
Para este serviço, são suportados os métodos GET, PUT e DELETE, em que:
- GET retorna uma entrada para o documento especificado.
- PUT atualiza o documento especificado.
- DELETE exclui o documento especificado.
O argumento na tabela 4 é suportado apenas para o método GET; os métodos PUT e DELETE não suportam nenhum argumento.
Tabela 4. Argumento suportado para o método GET
| Argumento | Valor | Por encomenda | Descrição |
|---|---|---|---|
| acls | falso, verdadeiro | Opcional | Especifica se as permissões de usuário autenticado serão retornadas em cada biblioteca |
Abaixo está a solicitação de amostra e a resposta (ver listagem 7):
Solicitação de amostra:
GET /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/
document/886a62804c128889bc18fdaa37d7846a/entry HTTP/1.1
Listagem 7. Amostra de resposta
<?xml version="1.0" encoding="UTF-8" ?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td"> <id>urn:lsid:ibm.com:td:886a62804c128889bc18fdaa37d7846a</id> <title type="text">Test Entry Title</title> <published>2008-11-26T09:49:51.609Z</published> <updated>2008-11-26T09:49:51.609Z</updated> <td:modified>2008-11-26T09:49:51.609Z</td:modified> <td:created>2008-11-26T09:49:51.609Z</td:created> <summary type="text">Programmatically created entry summary</summary> <td:uuid>886a62804c128889bc18fdaa37d7846a</td:uuid> <author> <name>wpsadmin g wpsadmin sn</name> <email>wpsadmin@cn.ibm.com</email> <uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc%3Dus %2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri> </author> <link href="/lotus/poc/?uri=wcm%3a886a62804c128889bc18fdaa37d7846a" rel="alternate" /> <content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/ media" /> <category scheme="tag:ibm.com,2006:td/" label="document" term="document" /> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/entry" rel="self" /> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/entry" rel="edit" /> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/feed" rel="replies" /> </entry> |
Para o método PUT
Abaixo há solicitação e resposta de amostra (ver listagens 8 e 9, respectivamente).
Listagem 8. Solicitação de amostra
PUT /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/ document/886a62804c128889bc18fdaa37d7846a/entry HTTP/1.1 Host: lwptsthink43.cn.ibm.com Content-Length: nnnn Authorization: Basic ... <entry xmlns="http://www.w3.org/2005/Atom"> <content type="html"><p><b> </b> Programmatically Updated entry.</p> </content> <title type="text">Test Entry Title-Updated </title> <summary type="text">Summary for Test Entry Ttile-Updated </summary> </entry> |
Listagem 9. Amostra de resposta
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2007 17:17:11 GMT
Content-Length: nnn
Content-Type: application/atom+xml; charset="utf-8"
Location: http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:6df9c6004c127f26bc10fdaa37d7846a</id>
<title type="text">Test Entry Title-Updated </title>
<published>2008-11-26T09:32:39.484Z</published>
<updated>2008-11-26T09:32:39.984Z</updated>
<td:modified>2008-11-26T09:32:39.984Z</td:modified>
<td:created>2008-11-26T09:32:39.484Z</td:created>
<summary type="text">Summary for Test Entry Title-Updated </summary>
<td:uuid>6df9c6004c127f26bc10fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a6df9c6004c127f26bc10fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/6b1fc9804a9207249ceadc23ebd19157/
document/6df9c6004c127f26bc10fdaa37d7846a/media"></content>
<category scheme="tag:ibm.com,2006:td/" label="document"
term="document"></category>
<category scheme="tag:ibm.com,2006:td/" label="page"
term="page"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry"
rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry"
rel="edit"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/feed"
rel="replies"></link>
</entry>
|
Para o método DELETE
Aqui estão a solicitação e resposta de amostra.
Solicitação de amostra:
Delete /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/
document/886a62804c128889bc18fdaa37d7846a/entry HTTP/1.1
Host: lwptsthink43.cn.ibm.com
Authorization: Basic ...
Resposta de amostra:
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2008 17:17:11 GMT
/library/{library-id}/document/{document-id}/feed
Neste serviço, os métodos GET e POST são suportados, em que:
- POST cria um novo comentário para o documento especificado.
- GET retorna um feed para os comentários para o documento especificado.
Os argumentos na tabela 5 são suportados apenas para o método GET; o método POST não suporta nenhum argumento.
Tabela 5. Argumentos suportados para o método GET
| Argumento | Valor | Por encomenda | Descrição |
|---|---|---|---|
| sequencial | falso, verdadeiro | Opcional | As entradas contêm conteúdo real em vez do atributo src com um link para o conteúdo quando sequencial=verdadeiro |
| página | 1, 2, 3 e assim por diante | Opcional | Especifica a página a ser recuperada pressupondo tamanho de página constante |
| tamanho da página | 10, 20 e assim por diante | Opcional | Especifica o número de itens a ser incluído em uma solicitação paginada |
| sK | título, atualizado, publicado | Opcional | A chave para classificar a resposta |
| sO | dsc, asc | Opcional | A ordem para classificar a resposta |
| acls | falso, verdadeiro | Opcional | Especifica se as permissões de usuário autenticado serão retornadas em cada comentário |
Abaixo está a solicitação de amostra e a resposta (ver listagem 10):
Solicitação de amostra:
GET /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
886a62804c128889bc18fdaa37d7846a/feed HTTP/1.1
Listagem 10. Amostra de resposta
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>urn:lsid:ibm.com:td:886a62804c128889bc18fdaa37d7846a</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/feed"
rel="self"></link>
<category term="comment" scheme="tag:ibm.com,2006:td/type"
label="comment"></category>
<title type="text">Test Entry</title>
<generator uri="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/"
version="1.0">Teamspace Web Content</generator>
<updated>2008-11-27T01:31:02.906Z</updated>
<collection href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/feed"
xmlns="http://purl.org/atom/app#">
<atom:title type="text" xmlns:atom="http://www.w3.org/2005/Atom">
Test Entry</atom:title>
<accept>text/html,application/atom+xml</accept>
</collection>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:fb73a7804c148a23bc28fdaa37d7846a</id>
<title type="text">wpsadmin g wpsadmin sn Today at 9:31 AM</title>
<published>2008-11-27T01:31:02.906Z</published>
<updated>2008-11-27T01:31:02.906Z</updated>
<td:modified>2008-11-27T01:31:02.906Z</td:modified>
<td:created>2008-11-27T01:31:02.906Z</td:created>
<summary type="text">test again</summary>
<td:uuid>fb73a7804c148a23bc28fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3afb73a7804c148a23bc28fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/
webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
1c1cef804c1488b4bc1afdaa37d7846a/comment/fb73a7804c148a23bc28fdaa37d7846a/
media"></content>
<category scheme="tag:ibm.com,2006:td/" label="comment"
term="comment"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/1c1cef804c1488b4bc1afdaa37d7846a/
comment/fb73a7804c148a23bc28fdaa37d7846a/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/1c1cef804c1488b4bc1afdaa37d7846a/
comment/fb73a7804c148a23bc28fdaa37d7846a/entry" rel="edit"></link>
</entry>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:d23708004c1488b9bc26fdaa37d7846a</id>
<title type="text">wpsadmin g wpsadmin sn Today at 9:28 AM</title>
<published>2008-11-27T01:28:28.344Z</published>
<updated>2008-11-27T01:28:28.344Z</updated>
<td:modified>2008-11-27T01:28:28.344Z</td:modified>
<td:created>2008-11-27T01:28:28.344Z</td:created>
<summary type="text">test</summary>
<td:uuid>d23708004c1488b9bc26fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts
%2Cc%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3ad23708004c1488b9bc26fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
1c1cef804c1488b4bc1afdaa37d7846a/comment/d23708004c1488b9bc26fdaa37d7846a/
media"></content>
<category scheme="tag:ibm.com,2006:td/" label="comment"
term="comment"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/1c1cef804c1488b4bc1afdaa37d7846a/
comment/d23708004c1488b9bc26fdaa37d7846a/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/1c1cef804c1488b4bc1afdaa37d7846a/
comment/d23708004c1488b9bc26fdaa37d7846a/entry" rel="edit"></link>
</entry>
</feed>
|
Para o método POST
Aqui estão a solicitação e resposta de amostra (ver listagens 11 e 12, respectivamente).
Listagem 11. Solicitação de amostra
POST /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/ document/886a62804c128889bc18fdaa37d7846a/feed HTTP/1.1 Host: lwptsthink43.cn.ibm.com Content-Type: application/msword Content-Length: nnnn Authorization: Basic ... <entry xmlns="http://www.w3.org/2005/Atom"> <content type="html"><p><b> </b> Programmatically created entry.</p> </content> <title type="text">Test Entry Title </title> <category scheme="tag:ibgm.com,2006:td/type" term="comment"> </category> </entry> |
Listagem 12. Amostra de resposta
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2008 17:17:11 GMT
Content-Length: nnn
Content-Type: application/atom+xml; charset="utf-8"
Location: http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/096d53804c148da9bc34fdaa37d7846a/
comment/096d53804c148da9bc33fdaa37d7846a/entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:096d53804c148da9bc33fdaa37d7846a</id>
<title type="text">wpsadmin g wpsadmin sn Today at 9:37 AM</title>
<published>2008-11-27T01:37:30.500Z</published>
<updated>2008-11-27T01:37:30.672Z</updated>
<td:modified>2008-11-27T01:37:30.672Z</td:modified>
<td:created>2008-11-27T01:37:30.500Z</td:created>
<summary type="text">Thu Nov 27 09:42:45 CST 2008
Programmatically created comment.</summary>
<td:uuid>096d53804c148da9bc33fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a096d53804c148da9bc33fdaa37d7846a"
rel="alternate"></link>
< contenttype="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/6b1fc9804a9207249ceadc23ebd19157/document/096d53804c148da9bc34fdaa37d7846a/
comment/096d53804c148da9bc33fdaa37d7846a/media"></content>
<category scheme="tag:ibm.com,2006:td/" label="comment"
term="comment"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/096d53804c148da9bc34fdaa37d7846a/comment/
096d53804c148da9bc33fdaa37d7846a/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/096d53804c148da9bc34fdaa37d7846a/
comment/096d53804c148da9bc33fdaa37d7846a/entry" rel="edit"></link>
</entry>
|
/library/{library-id}/document/{document-id}/comment/comment-id}/entry
Para este serviço, são suportados os métodos GET, PUT e DELETE, em que:
- GET retorna uma entrada para o comentário especificado.
- PUT atualiza o comentário especificado.
- DELETE exclui o comentário especificado.
O argumento na tabela 6 é suportado apenas ao realizar o método GET; os métodos PUT e DELETE não suportam nenhum argumento.
Tabela 6. Argumento suportado para o método GET
| Argumento | Valor | Por encomenda | Descrição |
|---|---|---|---|
| acls | falso, verdadeiro | Opcional | Especifica se as permissões de usuário autenticado serão retornadas para cada biblioteca |
Abaixo está a solicitação de amostra e a resposta (ver listagem 13):
Solicitação de amostra:
GET /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
40dc74004c149271bc3cfdaa37d7846a/comment/55eeec804c1492ddbc44fdaa37d7846a/entry HTTP/1.1
Listagem 13. Amostra de resposta
<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:55eeec804c1492ddbc44fdaa37d7846a</id>
<title type="text">wpsadmin g wpsadmin sn Today at 9:47 AM</title>
<published>2008-11-27T01:47:02.109Z</published>
<updated>2008-11-27T01:47:02.109Z</updated>
<td:modified>2008-11-27T01:47:02.109Z</td:modified>
<td:created>2008-11-27T01:47:02.109Z</td:created>
<summary type="text">this is the first comment</summary>
<td:uuid>55eeec804c1492ddbc44fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a55eeec804c1492ddbc44fdaa37d7846a" rel="alternate" />
<content type="text/html"
src="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/766a77004c1492dcbc3efdaa37d7846a/comment/
55eeec804c1492ddbc44fdaa37d7846a/media" />
<category scheme="tag:ibm.com,2006:td/" label="comment" term="comment" />
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/766a77004c1492dcbc3efdaa37d7846a/comment/
55eeec804c1492ddbc44fdaa37d7846a/entry" rel="self" />
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/766a77004c1492dcbc3efdaa37d7846a/
comment/55eeec804c1492ddbc44fdaa37d7846a/entry" rel="edit" />
</entry>
|
Para o método PUT
Abaixo há solicitação e resposta de amostra (ver listagens 14 e 15, respectivamente).
Listagem 14. Solicitação de amostra
PUT /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/ 40dc74004c149271bc3cfdaa37d7846a/comment/55eeec804c1492ddbc44fdaa37d7846a/entry HTTP/1.1 Host: lwptsthink43.cn.ibm.com Content-Length: nnnn Authorization: Basic ... <entry xmlns="http://www.w3.org/2005/Atom"> <content type="html"><p><b> </b> Programmatically Updated entry.</p> </content> <title type="text">Test Entry Title-Updated </title> <summary type="text">Summary for Test Entry Ttile-Updated </summary> </entry> |
Listagem 15. Amostra de resposta
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2007 17:17:11 GMT
Content-Length: nnn
Content-Type: application/atom+xml; charset="utf-8"
Location: http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/014241804c149b27bc52fdaa37d7846a/entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:014241804c149b27bc52fdaa37d7846a</id>
<title type="text">API_Automation_Test:Test Entry - Thu Nov 27 10:07:28
CST 2008</title>
<published>2008-11-27T02:02:13.375Z</published>
<updated>2008-11-27T02:02:13.812Z</updated>
<td:modified>2008-11-27T02:02:13.812Z</td:modified>
<td:created>2008-11-27T02:02:13.375Z</td:created>
<summary type="text">Summary for: API_Automation_Test:Test Entry -
Thu Nov 27 10:07:28 CST 2008</summary>
<td:uuid>014241804c149b27bc52fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a014241804c149b27bc52fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/6b1fc9804a9207249ceadc23ebd19157/document/
014241804c149b27bc52fdaa37d7846a/media"></content>
<category scheme="tag:ibm.com,2006:td/" label="document"
term="document"></category>
<category scheme="tag:ibm.com,2006:td/" label="page"
term="page"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/014241804c149b27bc52fdaa37d7846a/entry"
rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/014241804c149b27bc52fdaa37d7846a/entry"
rel="edit"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/014241804c149b27bc52fdaa37d7846a/feed"
rel="replies"></link>
</entry>
|
Para o método DELETE
Abaixo estão a solicitação e resposta de amostra.
Solicitação de amostra:
Delete /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
40dc74004c149271bc3cfdaa37d7846a/comment/55eeec804c1492ddbc44fdaa37d7846a/entry HTTP/1.1
Host: lwptsthink43.cn.ibm.com
Authorization: Basic ...
Resposta de amostra:
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2007 17:17:11 GMT
Consumo de serviços na prática
Nesta seção, apresentamos exemplos reais de como listar entradas de blog em uma biblioteca de blog, como criar uma entrada de blog e como adicionar um comentário para a entrada de blog.
Apache Abdera é utilizado para publicação Atom e análise de resposta em todo o exemplo. Para mais detalhes, consulte o artigo developerWorks® , "Getting to know the Atom Publishing Protocol, Part 3: Introducing the Apache Abdera project."
Listando as entradas do blog em uma biblioteca de blog
Como mencionado anteriormente, para colocar entradas de blog em uma biblioteca de blog, envie uma solicitação de obtenção para a URL
https://localhost:10038/webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/feed
,
como demonstrado no trecho de código da listagem 16.
Listagem 16. Solicitação de obtenção
public void getLibraryFeed() throws Exception
{
String url = “https://localhost:10038/webcontent/rest/
library/7e0bad004a9206d69c88dc23ebd19157/feed”;
//criar um cliente abdera
CommonsClient client = new CommonsClient();
Credentials creds = new UsernamePasswordCredentials(“mshani”, “password”);
client.addCredentials(url, null, null, creds);
client.usePreemptiveAuthentication(true);
//Enviar a solicitação de Obtenção
ClientRespone response = client.get(url);
Element blogElement = response.getDocument().getRoot();
releaseResponse();
Feed blogFeed = (Feed) blogElement;
List list = blogFeed.getEntries();
Iterator iter = list.iterator();
while (iter.hasNext())
{
//Toda entrada significa uma entrada do blog
Entry entry = iter.next();
//Obter as informações da entrada do blog
String title = entry.getTitle();
String summary = entry.getSummary();
String author = entry.getAuthor().getName();
//Renderizar o título, o resumo e
o nome da entrada do blog para a Interface com o Usuário.
…………
…………
}
}
|
Assim, uma entrada de blog é adicionada à biblioteca do blog (ver figura 1).
Figura 1. Entrada de blog adicionada a uma biblioteca de blog
Criando uma nova entrada de blog
Para criar uma entrada de blog, envie uma solicitação HTTP POST (postar HTTP) para a URL de feed da biblioteca:
http://localhost:10038/webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/feed
como demonstrado trecho de código na listagem 17.
Listagem 17. Solicitação HTTP POST
public String createBlogEntry() throws Exception
{
String url = “https://localhost:10038/webcontent/rest/
library/7e0bad004a9206d69c88dc23ebd19157/feed”;
//criar um cliente abdera
CommonsClient client = new CommonsClient();
Credentials creds = new UsernamePasswordCredentials(“mshani”, “password”);
client.addCredentials(url, null, null, creds);
client.usePreemptiveAuthentication(true);
//Criar uma entrada abdera postada
Entry blogEntry = Abdera.getNewFactory.newEntry();
//definir a entrada do título do blog
blogEntry.setTitle("IntroDucing REST based services for wiki and blog content");
String summary = "<p><b>Learn how to create web content using REST based
services</b></p>”;
//definir o resumo da entrada do blog
blogEntry.setContentAsHtml(summary);
//Enviar a solicitação POST
ClientRespone response = client.post(url, blogEntry);
Element blogElement = response.getDocument().getRoot();
releaseResponse();
Entry entry = (Entry) blogElement;
QName QNAME_UUID = new QName("urn:ibm.com/td", ”uuid”, “td”);
String blogEntryUUID = entry.getSimpleExtension(QNAME_UUID);
return blogEntryUUID;
}
|
Assim, uma nova entrada de blog é criada com sucesso (ver figura 2).
Figura 2. Nova entrada de blog
Adicionando um comentário à entrada de blog
Para adicionar um comentário a uma entrada de blog, é preciso postar um comentário no feed de entrada de blog. A URL postada deve ser como segue:
http://localost:10038/webcontent/rest/library/12c41d804d2f16e9af42efa98d8a5f1c/
document/704e15004d2f7c5baf76efa98d8a5f1c/feed
E o trecho de código deve ser como mostrado na listagem 18.
Listagem 18. Postando uma entrada de comentário no feed do blog
public String createBlogEntry() throws Exception
{
String url = “http://localost:10038/webcontent/rest/library/
12c41d804d2f16e9af42efa98d8a5f1c/document/704e15004d2f7c5baf76efa98d8a5f1c/feed”;
//criar um cliente abdera
CommonsClient client = new CommonsClient();
Credentials creds = new UsernamePasswordCredentials(“mshani”, “password”);
client.addCredentials(url, null, null, creds);
client.usePreemptiveAuthentication(true);
//Criar uma entrada abdera postada
Entry commentEntry = Abdera.getNewFactory.newEntry();
//definir o título da entrada do comentário
String summary = "<p><b>This is a good article which is
worthy to read</b></p>”;
//definir o resumo da entrada do blog
commentEntry.setContentAsHtml(summary);
//Definir a categoria da entrada
Category category = factory.newCategory();
category.setScheme("tag:ibgm.com,2006:td/type");
category.setTerm("comment");
commentEntry.addCategory(category);
//Enviar a solicitação POST
ClientRespone response = client.post(url, commentEntry);
Element commentElement = response.getDocument().getRoot();
releaseResponse();
Entry entry = (Entry) commentElement;
QName QNAME_UUID = new QName("urn:ibm.com/td", ”uuid”, “td”);
String commentUUID = entry.getSimpleExtension(QNAME_UUID);
return commentUUID;
}
|
Assim, é criado um comentário para a entrada do blog, como mostrado na figura 3.
Figura 3. Comentário da entrada de blog
Nesta seção, apresentamos exemplos reais de como listar entradas de blog em uma biblioteca de blog, como criar uma entrada de blog e como comentar em uma entrada de blog. O procedimento para outras operações, como, atualizar ou excluir uma entrada de blog ou comentário de entrada de blog, é muito semelhante a estas três operações.
Os serviços Lotus Quickr baseados em REST para conteúdo de wiki e de blog oferecem meios convenientes e robustos de acesso ao conteúdo da Web no Lotus Quickr para WebSphere Portal. Os usuários podem obter toda informação das bibliotecas wiki e blog, podem criar, atualizar e excluir uma determinada página wiki ou entrada de blog, e podem CRUD um comentário específico.
Com a ajuda desses serviços, os usuários podem customizar sua apresentação de conteúdo personalizado de Web. Além disso, esses serviços alinham-se ao formato dos serviços Lotus Quickr de documentos baseados em REST, facilitando sua compreensão e utilização.
Aprender
-
Leia o artigo developerWorks Lotus , "Introducing IBM Lotus Quickr REST services."
-
Leia o artigo developerWorks Lotus , "Introducing IBM Lotus Quickr Web services."
-
Leia o artigo developerWorks Lotus, "Getting to know the Atom Publishing Protocol, Part 3: Introducing the Apache Abdera project."
-
Consulte a wiki do Lotus Quickr.
-
Consulte a página de produto do Lotus Quickr.
-
Consulte o Centro de Informações do Lotus Quickr.
Obter produtos e tecnologias
-
Faça o download do Apache Abdera (este link reside fora de ibm.com).
Discutir
Derek Carr é Engenheiro de Software Consultor na IBM e trabalha com a equipe Lotus Quickr no Research Triangle Park, NC. É possível entrar em contato com ele pelo e-mail dwcarr@us.ibm.com.
Danny Levenson é Desenvolvedor de Software e trabalha com a equipe Lotus Quickr da IBM em Durham, NC. É possível entrar em contato com ele pelo e-mail dlevenso@us.ibm.com.