JSON-Ressourcenmethode mit annotierten JAXB-Objekten mit IBM JSON4J implementieren

In WebSphere Application Server Version 8 ist der Standard-JSON-Prozessor, mit der die Serialisierung annotierter JAXB-Klassen durchgeführt wird, Jackson. Wenn Sie stattdessen den IBM® JSON4J-Prozessor aus früheren Feature Packs for Web 2.0 verwenden möchten, müssen Sie eine Providerklasse hinzufügen. Jackson stellt JSON-Verarbeitung mit erweiterter Funktionalität bereit.

Informationen zu diesem Vorgang

Wenn Sie stattdessen den IBM JSON4J-Prozessor in Ihrer Anwendung verwenden möchten, müssen Sie eine Java™-Klasse hinzufügen, die die Klasse JSON4JJAXBProvider für Ihre Anwendung erweitert.

Vorgehensweise

  1. Wenn Sie den Annotationsscan verwenden und nicht alle JAX-RS-Klassen über die Unterklasse javax.ws.rs.core.Application angeben möchten, müssen Sie eine Java-Klasse hinzufügen, die die Klasse com.ibm.websphere.jaxrs.providers.json4j.JSON4JJAXBProvider erweitert. Das folgende Beispiel veranschaulicht eine angepasste Klasse vom Typ JSON4JJAXBProvider:
    package com.example.jaxrs;
    @Provider
    @Consumes(value = {MediaType.APPLICATION_JSON, "application/javascript"})
    @Produces(value = {MediaType.APPLICATION_JSON, "application/javascript"})
    public class CustomJSON4JJAXBProvider extends
        com.ibm.websphere.jaxrs.providers.json4j.JSON4JJAXBProvider {
    }
  2. Wenn Sie eine angepasste Klasse vom Typ javax.ws.rs.core.Application, die Ihre JAX-RS-Klassen auflistet, verwenden möchten, müssen Sie Ihre angepasste Klasse vom Typ JSON4JJAXBProvider zu Ihrer Unterklasse "Application" hinzufügen. Das folgende Beispiel veranschaulicht eine angepasste Unterklasse vom Typ "Application":
    package com.example.jaxrs;
    public class CustomApplication extends javax.ws.rs.core.Application {
    
        @Override
        public Set<Class<?>> getClasses() {
            Set<Class<?>> classes = new HashSet<Class<?>>();
            /* normale JAX-RS-Klassen hinzufügen */
    
            classes.add(CustomJSON4JJAXBProvider.class);
            return classes;
        }
    }

Ergebnisse

Sie verwenden jetzt den IBM JSON4J-Prozessor für JAXB-JSON-Serialisierung anstelle des im Produkt integrierten Standard-Jackson-Prozessors.


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_jsoncontent_jaxb_json4j
Dateiname:twbs_jaxrs_jsoncontent_jaxb_json4j.html