Comment puis-je activer MultiPartFeature?
Mon JAX-RS application est une Application de classe.
@ApplicationPath("/")
public class MyApplication extends Application {
//empty; really empty
}
Comment puis-je activer org.glassfish.jersey.media.multipart.MultiPartFeature
sans modifier la classe? Ou sans la nécessité de l'enregistrement de toutes les ressources des classes/packages?
OriginalL'auteur Jin Kwon | 2015-04-09
Vous devez vous connecter pour publier un commentaire.
Ne savez pas pourquoi vous ne vous contentez pas d'utiliser un
ResourceConfig
au lieu d'uneApplication
classe. La seule raison pour laquelle je peux penser est la portabilité, mais l'utilisation de l'Jersey spécifiques entité multi-parties rompt déjà que la portabilité.Mais de toute façon, je vais essayer de répondre à cette question dans les plus "portable". Ce que vous pouvez faire est de définir une propriété, comme vous le feriez dans un web.xml. Pour définir des propriétés arbitraires, vous pouvez remplacer
dans le
Application
sous-classe, et de définir les propriétés.Cela permettra de maintenir le classpath de l'analyse de vos ressources et de fournisseurs. La numérisation est seulement désactivé si vous remplacez
getClasses()
ougetSingletons()
(et de retourner une valeur non vide d'ensembles), maisgetProperties()
est fine.Une Autre Option:
Créer un
Feature
pour envelopper que fonctionnalité, et de laisser la caractéristique d'être découvert, comme vu iciPersonnellement, je serais...
Il suffit d'utiliser un
ResourceConfig
, que vous êtes déjà la rupture de la portabilité (ce qui est un peu plus de la rupture 🙂packages(...).register(...)
. Puis, tout à coup,jackson-provider
échoue. Et en remplaçantgetProperties()
résolu mon problème. Bravo!!!Ma conjecture est que vous êtes à l'aide de ce Jackson fournisseur, qui ne sont pas automatiquement registre lui-même. Et le classpath de numérisation reprend ses
@Provider
annotations. Depuis leResourceConfig
ne fait pas dans le classpath de numérisation (au lieu de package de numérisation), vous pouvez l'ajouter à lapackages()
, commepackages("your.packages,com.fasterxml.jackson.jaxrs.json")
. Cette charge le Jackson ExceptionMapper ainsi que les lecteurs et les écrivains.Sinon, vous pouvez utiliser cette dépendance, ce qui en fait des "wraps" la précédente de la dépendance dans une "auto-dicoverable" (v 2.9+), de sorte que vous n'avez pas besoin d'inscrire explicitement à forfait de recherche. La Version 2.8 - jusrt
register(JacksonFeature.class);
OriginalL'auteur Paul Samsotha
Pour moi travaillé comme ci-dessous:
C'est ApplicationConfig classe
OriginalL'auteur Alessandro Mattiuzzi