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.
Verwandte Themen
- 1. Force Gradle HTTP anstelle von HTTPS zu verwenden
- 2. Verwenden Sie Jackson, um yaml zu schreiben?
- 3. Force VBA, um britische Lokalisierung zu verwenden
- 4. C# - Force String.Format, um Dezimalstellen und NIEMALS Kommata zu verwenden
- 5. Force anstelle von Klick in Javascript eingeben
- 6. Force make, um eine spezifischere Regel zu verwenden
- 7. Force ReSharper, um StyleCop-Einstellungen für Codebereinigung zu verwenden
- 8. Verwenden von Jackson als Jersey Client Serializer
- 9. Force JacksonXml, um Rohwert als String zu serialisieren
- 10. Force WCF, um ungenutzte Klasse zu serialisieren
- 11. Force php Proxy verwenden
- 12. force signalr, um Benutzer wieder zu autorisieren
- 13. Force numpy, um eine Liste zu behalten
- 14. Force Backbone fetch immer POST zu verwenden
- 15. Ist es möglich, Jackson zu verwenden, um Wert von Pojo zu erhalten
- 16. Force RecyclerView, um Android neu zu zeichnen
- 17. Force Exim zu verwenden ipv4 ip
- 18. Force slf4j Logback verwenden
- 19. Was anstelle von polymorphen Assoziationen zu verwenden?
- 20. Force UIWebView um neu zu zeichnen?
- 21. Force HttpClient, um einzelnes Zertifikat zu vertrauen
- 22. Force Xamarin Mono unter Windows zu verwenden
- 23. Verwenden von Jackson ObjectMapper mit Jersey
- 24. force git, um die Änderungen von cherry-pick zu übernehmen
- 25. Force C# App als x64 anstelle von AnyCpu kompilieren
- 26. Force Composer zum Herunterladen git Repo anstelle von zip
- 27. PHP-Konfigurationsdatei verwenden, um Datenbank anstelle von PDO Verbindungsleitung
- 28. Argumente für path.resolve müssen Zeichenfolgen sein. Verwenden --force, um fortzufahren
- 29. Force von Config, um Tls 1.0 in einem WCF-Client zu verwenden C#
- 30. Verwenden von Force, um ein Objekt in Libgdx zu bewegen Java
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. –