Polymorphic deserialization based on root tag

Ouverte
#537 1 commentaire 2 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
java, xml
Domaine
backend

Piste de recherche

Commencez par le point d’entrée XmlMapper.readValue(data, MyAbstractPojo.class) et examinez comment @JsonTypeInfo et @JsonSubTypes sélectionnent actuellement les types polymorphes. Définissez des tests dans lesquels la balise racine XML sélectionne un sous-type, puis vérifiez que l’implémentation gère la sélection via la balise racine sans exiger de propriété ni d’objet enveloppe.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Hello!
I am not sure if this is a help or a feature request. I scoured google/SO trying to dynamically select target class based on the root tag. I expected the usage to be something like this:

xmlMapper.readValue(data, MyAbstractPojo.class)

where MyAbstractPojo is annotated with @JsonTypeInfo and @JsonSubTypes to configure type selection. However, root tag is not a property, not an external property and not a wrapper object, which means it's not helpful to use those. Even if you use DEDUCTION as a mechanism, only property names are considered, root tag is again ignored.

So I wanted to ask whether I have missed something obvious, and if I did not, consider implementing this feature for the XML module.

Langage dominant
Java
Étoiles
636
Forks
250
Merge moyen
7 h 10 min
PR mergées (30 j)
8

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de FasterXML/jackson-dataformat-xml

Toutes les issues de FasterXML/jackson-dataformat-xml

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.