JSON-Inhalt in JAX-RS-Anwendungsanforderungen und -antworten verwenden

JavaScript Object Notation (JSON) ist ein allgemeines Medienformat, das RESTful-Services konsumieren und erzeugen. Sie können dieses einfache Datenaustauschformat verwenden, das auf der Objekt-Literal-Notation von JavaScript basiert, um Daten auszutauschen.

Informationen zu dieser Task

JSON ist ein gängiges, programmiersprachenneutrales Datenformat. Mehrere Web-Browser und JavaScript-Bibliotheken wie Dojo bieten Unterstützung für JSON. WebSphere® unterstützt die Bibliotheken von Jackson und JavaScript Object Notation (JSON4J).

Die Jackson-Bibliothek ist ein JSON-Prozessor (Parser und Generator), der auf der StAX-Technologie (Streaming API for XML) für Pull-Parser basiert. Sie stellt grundlegende Lese- und Schreiboperationen im JSON-Format (parsen und generieren), ein vollständiges knotenbasiertes Baumstrukturmodell sowie eine Object-to-JSON-Datenbindung bereit.

Sie können die Jackson-Bibliothek zum Unmarshalling und Marshalling von JSON-Daten zu und von Plain Old Java™ Objects-(POJOs) und Java Architecture for XML Binding-Objekten (JAXB) verwenden. Um Jackson für die Verarbeitung von JSON-Daten zu verwenden, müssen Sie die Jackson-Bibliotheken im Klassenpfad angeben. Wenn Sie Jackson zum Klassenpfad hinzugefügt haben, müssen Sie POJOs und JAXB-Objekte für die Darstellung von Anforderungs- und Antwortnachrichtentexten verwenden. Jackson ist in der serverseitigen Laufzeitumgebung dieses Produkts enthalten.

Die Bibliothek JSON4J ist eine Implementierung einer Gruppe von JSON-Bearbeitungsklassen für die Verwendung in Java-Umgebungen. Die JSON4J-Bibliothek ist ein einfaches Java-Modell für die Erstellung und Bearbeitung von Daten, die als JSON-Daten wiedergegeben werden sollen.

Sie können die JSON4J-Bibliothek für die Ausgabe von JSON-Daten verwenden. Wenn Sie JSON4J -Typen als unterstützte Entitätstypen verwenden möchten, muss die Bibliothek JSON4J im Klassenpfad enthalten sein. Nach dem Hinzufügen von JSON4J zum Klassenpfad können Sie das JSONObject und die JSONArray-Klassen aus der Bibliothek JSON4J als Typen für die Darstellung von Anforderungs-und Antwortnachrichtenhauptteilen verwenden. JSON4J ist in der serverseitigen Laufzeitumgebung dieses Produkts enthalten.

Vorgehensweise

  1. Konfigurieren Sie die Entwicklungsumgebung.
    1. Bevor Sie mit dem Entwickeln von JAX-RS-Anwendungen beginnen, müssen Sie Ihre Entwicklungsumgebung konfigurieren, indem Sie die JAX-RS-Bibliotheken im Klassenpfad hinzufügen.
  2. Definieren Sie die Ressourcen in den JAX-RS-Webanwendungen.
    1. Ressourcen sind die Grundbausteine eines RESTful-Service. Ressourcen können statische oder dynamisch aktualisierte Daten enthalten. Im Falle einer Onlinebuchhandlung sind Ressourcen beispielsweise ein Buch, eine Bestellung von einem Geschäft, ein Benutzerverbund. Wenn Sie die Ressourcen in Ihrer Anwendung definieren, können Sie den Service effizienter machen und so gestalten, dass er einfacher entwickelt werden kann.
  3. Konfigurieren Sie die JAX-RS-Anwendung.

    Sie können JAX-RS-Anwendungen je nach Anforderungen auf unterschiedliche Weise konfigurieren. Wenn Sie die Funktionalität von Java Platform, Enterprise Edition (Java EE) 6 nutzen wollen, können Sie die Funktionen zum Scannen von Annotationen verwenden. Wenn Sie die Scanfunktionen für Annotationen verwenden, können Sie eine JAX-RS-Unterklasse javax.ws.rs.core.Application ausschließen oder eine minimal definierte Unterklasse javax.ws.rs.core.Application verwenden. Alternativ können Sie das IBM® JAX-RS-Servlet oder -Filter angeben, wenn Sie die Funktionalität verwenden möchten, die im IBM JAX-RS-Servlet und -Filter verfügbar ist.

    Wenn Sie eine der Konfigurationsmethoden der JAX-RS Version 1.1 verwenden, können Sie eine Unterklasse javax.ws.rs.core.Application in Ihrer Anwendung ausschließen oder eine Unterklasse javax.ws.rs.core.Application, die einen leeren Satz von Klassen zurückgibt, um die JAX-RS-Laufzeitumgebung anzuweisen, alle JAX-RS-Klassen in der Anwendung zu suchen und zu verwenden. Sie können diese Methode verwenden, wenn Sie beim Entwickeln der Anwendung nicht jede relevante JAX-RS-Klasse manuell einer Unterklasse javax.ws.rs.core.Application hinzufügen möchten.

    Wenn Sie ein bestimmtes IBM JAX-RS-Servlet und -Filter angeben, können Sie das spezielle IBM JAX-RS-Verhalten nutzen und sicherstellen. Die Verwendung des JAX-RS-Filters IBM kann beispielsweise hilfreich sein, wenn Sie eine Webanwendung mit einer Mischung aus JAX-RS-Ressourcen und JSP-Dateien (JavaServer Pages) mit denselben URL-Mustern entwickeln.

    Obwohl es eine Konfigurationsmethode der JAX-RS Version V1.1 gibt, die die Verwendung einer optionalen Datei web.xml unterstützt, müssen Sie Integritätsbedingungen für die Sicherheit oder Rollen und andere Features, die Sie verwenden möchten und die über eine Datei web.xml aktiviert werden, in einer Datei web.xml angeben.

    Wählen Sie eine der folgenden drei Methoden aus, um Ihre JAX-RS-Anwendung zu konfigurieren:

    • JAX-RS-Anwendungen mit JAX-RS 1.1-Methoden konfigurieren

      Verwenden Sie diese Methode, wenn Sie die Scanfunktionen für Annotationen oder die Konfigurationsmethoden der JAX-RS Version 1.1 verwenden möchten. Sie können die Scanfunktionen für Annotationen verwenden, um die Portierbarkeit von Anwendungen zu fördern, das Konfigurationscodevolumen zu minimieren oder die Anwendung dynamisch zu ändern, ohne Änderungen am Anwendungscode vorzunehmen.

    • Datei web.xml für JAX-RS-Servlets konfigurieren

      Verwenden Sie diese Methode, wenn Sie Features angeben möchten, die über Servletinitialisierungsparameter aktiviert werden, um das Verhalten zu ändern, und stellen Sie sicher, dass Sie das JAX-RS-Servlet IBM abrufen. Wenn Sie Servlets verwenden möchten, können Sie einen Servletpfad in der Datei "web.xml" definieren, der an den Basis-URL angefügt wird.

    • Datei web.xml für JAX-RS-Filter konfigurieren

      Verwenden Sie diese Methode, um den Filter zu verwenden, wenn Sie JSPs, andere Servlets und Filter sowie JAX-RS-Ressourcen mit verschiedenen URL-Mustern haben. Sie können die Datei web.xml konfigurieren, um Filter zu definieren, die die möglichen URLs angeben, unter denen der Filter aufgerufen werden kann.

  4. Ressourcenmethode mit JSON-Inhalt für eine Anforderungs- und eine Antwortentität implementieren
    1. REST-konforme Services können mit dem JSON-Format Inhalt konsumieren und erstellen.
  5. Assemblieren Sie JAX-RS-Webanwendungen.
    1. Nachdem Sie die Java-Klassendateien für Ihre JAX-RS-Webanwendung entwickelt und die Datei web.xml bearbeitet haben, um das JAX-RS-Servlet zu aktivieren, können Sie die Anwendung assemblieren. Assemblieren Sie die Webanwendung in einem WAR-Paket (Webarchiv). Sie können das WAR-Paket in einem EAR-Paket (Unternehmensarchiv) assemblieren, falls dies erforderlich ist.
  6. Implementieren Sie JAX-RS-Webanwendungen.
    1. Wenn Sie die JAX-RS-Webanwendung assembliert haben, müssen Sie das WAR-Paket oder das EAR-Paket im Anwendungsserver implementieren.

Ergebnisse

Sie haben eine JAX-RS-Webanwendung im Anwendungsserver entwickelt und implementiert, der JSON4J-Bibliotheken verwendet, um JSON-Inhalt für Anforderungen und Antworten zu verarbeiten.