Usando o Modelo Atom baseado em JAXB para Pedidos e Respostas

É possível representar os documentos Atom usando objetos anotados JAXB porque o formato Atom baseia-se em XML. Portanto, uma maneira de implementar um método de recurso que consuma e produza os feeds Atom e entradas Atom é retornar um objeto anotado JAXB que usa o modelo Atom. A biblioteca JAX-RS fornece um modelo Atom baseado no JAXB.

Sobre Esta Tarefa

Um modelo Atom JAXB é incluído em um arquivo JAR da biblioteca IBM® JAX-RS baseado no Winki Apache. Como o modelo baseia-se no JAXB, os objetos automaticamente usam os provedores de entidade JAXB integrados para ler e gravar feeds Atom e entradas Atom. Consulte as informações de API para obter detalhes dos métodos no modelo Atom.

É possível usar as seguintes classes para representar as entidades de pedido ou as entidades de resposta:
  • org.apache.wink.common.model.atom.AtomEntry
  • org.apache.wink.common.model.atom.AtomFeed
  • org.apache.wink.common.model.synd.SyndEntry
  • org.apache.wink.common.model.synd.SyndFeed
Também é possível usar as classes como um parâmetro de método de recurso para representar um pedido Atom recebido. Da mesma forma, é possível retornar qualquer uma dessas classes como uma resposta de recurso.
Configurações suportadas Configurações suportadas: Há algumas bibliotecas de terceiro que suportam a funcionalidade JAXB para JSON. Um modelo Atom JAXB usa os recursos do JAXB que podem não ser suportados pelas bibliotecas JAXB para JSON de terceiro.sptcfg

Procedimento

  1. Crie um novo objeto AtomFeed que retorne um feed Atom como o corpo da mensagem de resposta no seu método de recurso.
    @javax.ws.rs.GET
    public org.apache.wink.common.model.atom.AtomFeed getFeed() {
        org.apache.wink.common.model.atom.AtomFeed feed = new org.apache.wink.common.model.atom.AtomFeed();
    }
  2. Para incluir informação no feed, chame métodos no objeto AtomFeed Java™ e inclua os objetos AtomEntry na lista de feeds.
    @javax.ws.rs.GET
    public org.apache.wink.common.model.atom.AtomFeed getFeed() {
            org.apache.wink.common.model.atom.AtomFeed feed = new org.apache.wink.common.model.atom.AtomFeed();
            feed.setTitle(new org.apache.wink.common.model.atom.AtomText("Feed Title"));
            
            org.apache.wink.common.model.atom.AtomEntry entry = new org.apache.wink.common.model.atom.AtomEntry();
            entry.setTitle(new org.apache.wink.common.model.atom.AtomText("Entry Title"));
            entry.setId("1");
            
            org.apache.wink.common.model.atom.AtomLink link = new org.apache.wink.common.model.atom.AtomLink();
            link.setHref("http://www.example.com/");
            List< org.apache.wink.common.model.atom.AtomLink> entryLinks = entry.getLinks();
            entryLinks.add(link);
            
            List< org.apache.wink.common.model.atom.AtomEntry> entries = af.getEntries();
            entries.add(entry);
    }
  3. Retorne o feed no método Java.
    @javax.ws.rs.GET
    public org.apache.wink.common.model.atom.AtomFeed getFeed() {
            org.apache.wink.common.model.atom.AtomFeed feed = new org.apache.wink.common.model.atom.AtomFeed();
            feed.setTitle(new org.apache.wink.common.model.atom.AtomText("Feed Title"));
            
            org.apache.wink.common.model.atom.AtomEntry entry = new org.apache.wink.common.model.atom.AtomEntry();
            entry.setTitle(new org.apache.wink.common.model.atom.AtomText("Entry Title"));
            entry.setId("1");
            
            org.apache.wink.common.model.atom.AtomLink link = new org.apache.wink.common.model.atom.AtomLink();
            link.setHref("http://www.example.com/");
            List< org.apache.wink.common.model.atom.AtomLink> entryLinks = entry.getLinks();
            entryLinks.add(link);
            
            List<org.apache.wink.common.model.atom.AtomEntry> entries = af.getEntries();
            entries.add(entry);
            return entries;
    }
  4. (opcional) Se um feed ou entrada Atom for enviado em um pedido, poderá incluir um dos tipos de Atom como um parâmetro no método de recurso. Ao incluir um dos tipos Atom como um parâmetro no método de recurso, quaisquer dados de feed Atom recebidos serão transmitidos como o parâmetro.
    @javax.ws.rs.POST
    public void postFeed(org.apache.wink.common.model.atom.AtomFeed incomingFeed) {
        // use the incomingFeed object
    }

Resultados

Você usou o modelo Atom JAXB para representar as entidades de pedido e de resposta.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_atomcontent_jaxb
Nome do arquivo: twbs_jaxrs_atomcontent_jaxb.html