2013-08-19 16 views

Antwort

9

Sie müssen JacksonFeature in Ihrer Anwendung registrieren, wenn Sie Jackson als Ihren JSON-Provider verwenden möchten (durch die Registrierung dieser Funktion deaktivieren Sie MOXy als Ihren JSON-Anbieter).

Sie können es entweder in Application Unterklasse:

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; 
    } 
} 

oder 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); 

für weitere Informationen Jackson Abschnitt in Jersey Benutzer-Handbuch.

+0

Wo finde ich den Jackson Class Standort? – Dejell

+1

'JacksonFeature' ist in' org.glassfish.jersey.media: jersey-media-json-jakson'. Dieses Modul bringt Jackson 1.9.x damit. Wenn Sie Jackson 2.x verwenden wollen, fügen Sie einfach die Abhängigkeit von 'com.fasterxml.jackson.jaxrs: jackson-jaxrs-json-provider' hinzu und es wird automatisch dank des' META-INF/services' Mechanismus aktiviert. –

+0

Siehe [diese Antwort] (http://stackoverflow.com/questions/23730062/use-iso-8601-dates-in-jax-rs-responses) für vollständige Anweisungen, um dies auf GlassFish 4 mit einem Maven Build zu erreichen. –

0

Antwort von Michal Gajdos ist richtig, nur um hinzuzufügen, dass, fügen Sie diese Abhängigkeit in Ihrem pom.xml,

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

nicht genug Kredite Kommentar haben Sie.

Verwandte Themen