Pregunta

Así que estoy escribiendo un muelle (2.5 (+ Jersey (1.1.4.1) y tratando de crear un JSONConfiguration utilizando un ContextResolver Aquí está el código:.

package com.rhigdon.jersey.config;

import com.sun.jersey.api.json.JSONConfiguration;
import com.sun.jersey.api.json.JSONJAXBContext;

import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;
import javax.xml.bind.JAXBContext;

@Provider
public final class JAXBContextResolver implements ContextResolver<JAXBContext> {
  private JAXBContext context;

  public JAXBContextResolver() throws Exception {
    this.context = new JSONJAXBContext(JSONConfiguration.mappedJettison().build(), "com.rhigdon.core.model.");
  }

  public JAXBContext getContext(Class<?> aClass) {
    return context;
  }
}

Por desgracia mi aplicación se sigue devolviendo el mapeo por defecto:

  

{ "id": "1", "pregunta": "¿Cuál es / fue el   nombre de su primera mascota? "}

Cuando depurar la aplicación en realidad nunca llega a este código. ¿Se debe esto a la utilización de la SpringServlet? Aquí está mi Jersey Config en mi web.xml:

<servlet>
    <servlet-name>Jersey Spring Web Application</servlet-name>
    <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>Jersey Spring Web Application</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

Alguien tiene una configuración similar con JSONConfiguration trabajo?

¿Fue útil?

Solución

Es necesario registrar su proveedor en su contexto primavera:

<bean class="com.company.jersey.config.JAXBContextResolver"/>

O, si está utilizando la configuración basada en anotación, necesita anotar su clase de proveedor con @Component e incluir algo así como

<context:annotation-config />
<context:component-scan base-package="com.company.jersey" />

para la configuración de su contexto de aplicación.

Otros consejos

Estoy usando Jersey de la versión 1.10 y no tengo la anotación @Component ni la definición de frijol, y funciona sin él.


    Jersey resto servicio
    com.sun.jersey.spi.spring.container.servlet.SpringServlet
             com.sun.jersey.config.property.packages         ca.gc.cbsa.ezfw.foundation.webservice          1 |    

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top