Glassfish4 verwendet Moxy, um REST-Antworten in JSON zu serialisieren. Weiß jemand, wie man die Anwendung so konfiguriert, dass Jackson statt Moxy verwendet wird?Force Glassfish4, um Jackson anstelle von Moxy zu verwenden
7
A
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
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.
Wo finde ich den Jackson Class Standort? – Dejell
'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. –
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. –