Comment puis-je configurer l'espace de noms XML lors de l'utilisation Jersey, JAXB & JAX-RSComment puis-je configurer l'espace de noms XML lors de l'utilisation Jersey, JAXB et JAX-RS
3
A
Répondre
5
Cela se fait à l'aide des annotations JAXB. Les points ci-dessous se réfèrent à votre modèle de domaine.
schéma Niveau
Vous pouvez spécifier des informations d'espace de noms de niveau de schéma en utilisant l'annotation de niveau package @XmlSchema:
@XmlSchema(namespace = "http://www.example.org",
elementFormDefault = XmlNsForm.QUALIFIED)
package org.example;
import javax.xml.bind.annotation.XmlSchema;
import javax.xml.bind.annotation.XmlNsForm;
L'annotation ci-dessus tirant parti elementFormDefault sera par défaut l'espace de noms de tous les éléments à "http://www.example.org" .
Type Niveau
Vous pouvez remplacer les espaces de noms au niveau du type en utilisant l'annotation @XmlType:
@XmlType(namespace="http://www.example.org/foo")
Propriété/Champ Niveau
Et/ou vous pouvez spécifier l'espace de noms informations sur les annotations elles-mêmes:
- @XmlAttribute (namespace = "http://www.example.org/bar")
- @XmlElement (namespace = "http://www.example.org/bar")
- @XmlElementWrapper (espace de nom = "http://www.example.org/bar")
- @XmlRootElement (espace de nom = "http://www.example.org/bar")
Exemple
J'ai un billet de blog qui illustre ces concepts avec un exemple: