Wie kann ich Sie aktivieren MultiPartFeature?
Mein JAX-RS-Anwendung hat eine erweiterte Anwendung der Klasse.
@ApplicationPath("/")
public class MyApplication extends Application {
//empty; really empty
}
Wie kann ich Sie aktivieren org.glassfish.jersey.media.multipart.MultiPartFeature
ohne änderung an der Klasse? Oder ohne die Notwendigkeit der Registrierung alle Ressource-Klassen/Pakete?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht sicher, warum du nicht einfach eine
ResourceConfig
statt einerApplication
Klasse. Der einzige Grund, der mir einfällt ist die Portabilität, aber die Verwendung von Jersey bestimmten multipart-feature schon bricht, die Portabilität.Aber sowieso, ich werde versuchen diese zu beantworten in der "beweglichste" Weg. Was Sie tun können, ist ein property gesetzt wird, als würden Sie in einem web.xml. Festlegen beliebige Eigenschaften, die Sie außer Kraft setzen können,
in der
Application
Unterklasse, und legen Sie die Eigenschaften dort.Dies wird pflegen Sie die classpath-Scans für Ihre Ressourcen und Anbieter. Das Scannen ist nur deaktiviert, wenn Sie überschreiben
getClasses()
odergetSingletons()
(und nicht zurück-leer-sets), abergetProperties()
ist in Ordnung.Eine Weitere Option:
Erstellen Sie eine
Feature
zu wickeln , dass - Funktion, und lassen Sie die Funktion entdeckt, wie sehen Sie hierIch persönlich würde...
Einfach ein
ResourceConfig
, wie Sie bereits brechen Portabilität (was ein wenig mehr zu Bruch 🙂packages(...).register(...)
. Dann, plötzlich,jackson-provider
ausfällt. Und überschreibengetProperties()
mein problem gelöst. Bravo!!!@Provider
Anmerkungen. Da dieResourceConfig
nicht tun, classpath-Scans (statt Paket-Scannen), könnte man hinzufügen, das Paket an denpackages()
wiepackages("your.packages,com.fasterxml.jackson.jaxrs.json")
. Dies lädt die Jackson ExceptionMapper ebenso wie die Leser und Autoren.register(JacksonFeature.class);
Für mich gearbeitet hat, wie unten:
Dies ist ApplicationConfig Klasse