Comment configurer Jackson dans Wildfly?
J'ai un Bean Session avec la méthode suivante:
@POST
@Consumes("application/x-www-form-urlencoded")
@Path("/calculate")
@Produces("application/json")
public CalculationResult calculate(@FormParam("childProfile") String childProfile,
@FormParam("parentProfile") String parentProfile) {
...
}
Le retour de l'CalculationResult ne peut pas être mappé en JSON et l'exception suivante se produit:
Caused by: com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class com.test.UniqueName and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)...
Comment puis-je configurer Jackson et son SerializationFeature
dans Wildfly?
OriginalL'auteur sebplorenz | 2015-02-03
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de le configurer dans Wildfly, vous pouvez le configurer dans le JAX-RS d'application. Il suffit d'utiliser un
ContextResolver
pour configurer leObjectMapper
(voir plus de ici). Quelque chose commeSi vous n'avez pas le Jackson de dépendance, vous avez besoin que, tout comme au moment de la compilation de dépendance
Si vous utilisez la numérisation de découvrir votre ressource de classes et les classes de fournisseur, le
ContextResolver
devrait être découverts automatiquement. Si vous l'avez explicitement l'enregistrement de toutes vos ressources et de fournisseurs, alors vous aurez besoin d'enregistrer celui-ci également. Il doit être enregistré comme un singleton.Mise à JOUR
@KozProv mentionne dans un commentaire, il faut effectivement être
resteasy-jackson2-provider
que l'artifactId pour le Maven dépendance.-jackson-
utilise l'ancienneorg.codehaus
(Jackson 1.x), tandis que le-jackson2-
utilise la nouvellecom.fasterxml
(Jackson 2.x). Wildfly utilise par défaut L'Jackson 2 version.OriginalL'auteur Paul Samsotha
Wildfly 9
pom.xml
Classe Java
OriginalL'auteur Igor Vuković