Glassfish4 używa Moxy do serializowania odpowiedzi REST do JSON. Czy ktoś wie, jak skonfigurować aplikację do korzystania z Jacksona zamiast Moxy?Wymuś użycie Glassfish4 zamiast Jackson'a Moxy
7
A
Odpowiedz
9
Musisz zarejestrować JacksonFeature w swojej aplikacji, jeśli chcesz używać Jacksona jako dostawcę JSON (rejestrując tę funkcję, wyłącz MOXy, aby być dostawcą JSON).
Można to zrobić albo w Application
podklasy:
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;
}
}
lub w 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);
Zobacz Jackson sekcję Użytkownicy Jersey Guide, aby uzyskać więcej informacji.
0
Odpowiedz przez Michal Gajdoš jest poprawna, tylko dodać do tego należy dodać tę zależność w pom.xml,
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.26</version>
</dependency>
nie mają wystarczająco dużo punktów, aby skomentować.
Gdzie mogę znaleźć lokalizację klasy Jackson? – Dejell
'JacksonFeature' jest w' org.glassfish.jersey.media: jersey-media-json-jakson'. Ten moduł przynosi Jackson 1.9.x z nim. Jeśli chcesz używać Jackson 2.x, po prostu dodaj zależność od 'com.fasterxml.jackson.jaxrs: jackson-jaxrs-json-provider' i zostanie ona automatycznie włączona dzięki mechanizmowi' META-INF/services'. –
Zobacz [tę odpowiedź] (http://stackoverflow.com/questions/23730062/use-iso-8601-dates-in-jax-rs-responses), aby uzyskać pełne instrukcje, aby osiągnąć to na GlassFish 4 z kompilacją Mavena. –