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
- 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 {
}
- 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.