RESTEasy, est nécessaire pour que JAXB prenne en charge le fichier XML. Dans ce didacticiel, nous vous montrons comment créer un objet «utilisateur», le convertir en fichier XML et le renvoyer au client.
1. RESTEasy JAXB
Pour utiliser JAXB dans RESTEasy, vous devez inclure la dépendance « resteasy-jaxb-provider.jar ».
Fichier: pom.xml
<repositories> <repository> <id>JBoss repository</id> <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url> </repository> </repositories> <dependencies> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <version>2.2.1.GA</version> </dependency> <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxb-provider</artifactId> <version>2.2.0.GA</version> </dependency> </dependencies>
2. Fournisseur XML JAXB
Créez un objet, annotez-le avec l’annotation JAXB pour prendre en charge la conversion de fichier XML.
import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "user") public class User { String username; String password; int pin; @XmlElement public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @XmlElement public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @XmlAttribute public int getPin() { return pin; } public void setPin(int pin) { this.pin = pin; } }
Avec l’annotation JAXB, l’objet ci-dessus le convertira au format XML suivant.
<user pin="value"> <password>value</password> <username>value</username> </user>
3. JAX-RS
Pour retourner un fichier XML, annotez la méthode de service avec
@Produces (" application/xml ")
. RESTEasy convertira l’objet annoté JAXB en fichier XML et le renverra au client.
import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; @Path("/xml/user") public class XMLService { @GET @Path("/get") @Produces("application/xml") public User getUserInXML() { User user = new User(); user.setUsername("mkyong"); user.setPassword("password"); user.setPin(123456); return user; } }
3. Démo
Lorsque le modèle d’URI “ /xml/user/get ” est demandé, le fichier XML suivant est renvoyé.
<user pin="123456"> <password>password</password> <username>mkyong</username> </user>
Télécharger le code source
Téléchargez-le - lien://wp-content/uploads/2011/07/JAX-RS-Download-XML-JAXB-Example.zip[JAX-RS-Download-XML-JAXB-Example.zip](7 Ko)
Références
-
http://docs.jboss.org/resteasy/docs/2.2.1.GA/userguide/html/Built in JAXB__providers.html[RESTEasy
Fournisseur JAXB]
lien://tag/jax-rs/[jax-rs]lien://tag/jaxb/[jaxb]lien://tag/resteasy/[resteasy]lien://tag/xml/[xml]