JAXB-basiertes Atom-Modell für Anforderungen und Antworten verwenden

Sie können Atom-Dokumente mit JAXB-Annotationen darstellen, weil das Atom-Format auf XML basiert. Daher kann man eine Ressourcenmethode, die Atom-Feeds und Atom-Einträge konsumiert und erstellt, dadurch implementieren, indem man ein Objekt mit JAXB-Annotationen, das das Atom-Modell verwendet, zurückgeben. Die JAX-RS-Bibliothek stellt ein auf JAXB-basiertes Atom-Modell bereit.

Informationen zu diesem Vorgang

Ein JAXB-Atom-Modell ist in der JAR-Datei der auf Apache Wink basierenden IBM® JAX-RS-Bibliothek enthalten. Da das Modell auf JAXB basiert, verwenden die Objekte automatisch die integrierten JAXB-Entitätsprovider für Lese- und Schreibzugriffe auf Atom-Feeds und Atom-Einträge. Ausführliche Informationen zu den Methoden im Atom-Modell finden Sie in den API-Informationen.

Mit den folgenden Klassen können Sie Anforderungsentitäten oder Antwortentitäten darstellen:
  • 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
Sie können diese Klassen auch als Ressourcenmethodenparameter für die Darstellung eingehender Atom-Anforderungen verwenden. Analog dazu können Sie alle Klassen als Ressourcenantworten zurückgeben.
Unterstützte Konfigurationen Unterstützte Konfigurationen: Es gibt verschiedene Bibliotheken von Fremdanbietern, die JAXB für JSON-Funktionen unterstützen. Das JAXB-Atom-Modell verwendet JAXB-Features, die möglicherweise nicht von den JAXB-to-JSON-Bibliotheken von Fremdanbietern unterstützt werden. sptcfg

Vorgehensweise

  1. Erstellen Sie ein neues AtomFeed-Objekt, das einen Atom-Feed als Antwortnachrichtentext in Ihrer Ressourcenmethode zurückgibt.
    @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. Wenn Sie Informationen zum Feed hinzufügen möchten, müssen Sie Methoden für das AtomFeed-Java™-Objekt aufrufen und AtomEntry-Objekte zur Liste der Feeds hinzufügen.
    @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. Geben Sie den Feed an die Java-Methode zurück.
    @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. Optional: Wenn ein Atom-Feed oder ein Atom-Eintrag in einer Anforderung gesendet wird, können Sie einen der Atom-Typen als Parameter zur Ressourcenmethode hinzufügen. Indem Sie einen der Atom-Typen als Parameter zur Ressourcenmethode hinzufügen, werden alle eingehenden Atom-Feed-Daten als Parameter übergeben.
    @javax.ws.rs.POST
    public void postFeed(org.apache.wink.common.model.atom.AtomFeed incomingFeed) {
        // Objekt incomingFeed verwenden
    }

Ergebnisse

Sie haben das Atom-JAXB-Modell verwenden, um Anforderungs- und Antwortentitäten darzustellen.


Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_atomcontent_jaxb
Dateiname:twbs_jaxrs_atomcontent_jaxb.html