Implementación de un método de recurso JSON utilizando objetos anotados JAXB con IBM JSON4J

En WebSphere Application Server versión 8, el procesador JSON predeterminado para manejar las clases anotadas JAXB de serialización en JSON es Jackson. Si, en su lugar, desea utilizar el procesador JSON4J de IBM® de Feature Packs para Web 2.0, debe añadir una clase de proveedor. Jackson ofrece un proceso JSON más avanzado.

Acerca de esta tarea

Para utilizar el procesador IBM JSON4J en su aplicación, debe añadir una clase Java™ que amplíe la clase JSON4JJAXBProvider a su aplicación.

Procedimiento

  1. Si utiliza la exploración de anotaciones y no especifica todas las clases JAX-RS mediante una subclase javax.ws.rs.core.Application, debe añadir una clase Java que amplía la clase com.ibm.websphere.jaxrs.providers.json4j.JSON4JJAXBProvider. El ejemplo siguiente ilustra una clase personalizada 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. Si utiliza una clase javax.ws.rs.core.Application personalizada que lista las clases JAX-RS, debe añadir el JSON4JJAXBProvider personalizado a la subclase de la aplicación. En el ejemplo siguiente se muestra una subclase Application personalizada:
    package com.example.jaxrs;
    public class CustomApplication extends javax.ws.rs.core.Application {
    
        @Override
        public Set<Class<?>> getClasses() {
            Set<Class<?>> classes = new HashSet<Class<?>>();
            /* añada sus clases JAX-RS normales */
    
            classes.add(CustomJSON4JJAXBProvider.class);
            return classes;
        }
    }

Resultados

Ahora utiliza el procesador IBM JSON4J para la serialización JAXB-to-JSON en lugar del procesador Jackson predeterminado incorporado en el producto.


Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jaxrs_jsoncontent_jaxb_json4j
File name: twbs_jaxrs_jsoncontent_jaxb_json4j.html