2013-08-19 12 views

risposta

9

È necessario registrare JacksonFeature nell'applicazione se si desidera utilizzare Jackson come provider JSON (registrando questa funzione disabilitare MOXy come provider JSON).

Lo si può fare sia in Application sottoclasse:

public class MyApplication extends Application { 

    public Set<Class<?>> getClasses() { 
     final Set<Class<?>> classes = new HashSet<Class<?>>(); 

     // Add root resources. 
     classes.add(HelloWorldResource.class); 

     // Add JacksonFeature. 
     classes.add(JacksonFeature.class); 

     return classes; 
    } 
} 

o in ResourceConfig:

final Application application = new ResourceConfig() 
     .packages("org.glassfish.jersey.examples.jackson") 
     .register(MyObjectMapperProvider.class) // No need to register this provider if no special configuration is required. 
     // Register JacksonFeature. 
     .register(JacksonFeature.class); 

Vedere Jackson sezione nella Guida Jersey utenti per ulteriori informazioni.

+0

Dove posso trovare la posizione della lezione di Jackson? – Dejell

+1

'JacksonFeature' è in' org.glassfish.jersey.media: jersey-media-json-jakson'. Questo modulo porta con sé Jackson 1.9.x. Se si desidera utilizzare Jackson 2.x, è sufficiente aggiungere dipendenza su 'com.fasterxml.jackson.jaxrs: jackson-jaxrs-json-provider' e verrà abilitato automaticamente grazie al meccanismo' META-INF/services'. –

+0

Vedere [questa risposta] (http://stackoverflow.com/questions/23730062/use-iso-8601-dates-in-jax-rs-responses) per le istruzioni complete per ottenere questo risultato su GlassFish 4 con una build Maven. –

0

risposta da Michal Gajdos è corretto, solo per aggiungere a ciò, aggiungere questa dipendenza nella vostra pom.xml,

<dependency> 
    <groupId>org.glassfish.jersey.media</groupId> 
    <artifactId>jersey-media-json-jackson</artifactId> 
    <version>2.26</version> 
</dependency> 

Non hai abbastanza crediti per commentare.

Problemi correlati