RESTEasy ist JAXB erforderlich, um XML-Dateien zu unterstützen. In diesem Lernprogramm zeigen wir Ihnen, wie Sie ein Benutzerobjekt erstellen, in eine XML-Datei konvertieren und es an den Client zurückgeben.
1. RESTEasy JAXB
Um JAXB in RESTEasy verwenden zu können, müssen Sie die Abhängigkeit " resteasy-jaxb-provider.jar " angeben.
Datei: 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. JAXB XML Provider
Erstellen Sie ein Objekt und kommentieren Sie es mit der JAXB-Anmerkung, um die XML-Dateikonvertierung zu unterstützen.
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; } }
Mit der JAXB-Anmerkung wird das obige Objekt in das folgende XML-Format konvertiert.
<user pin="value"> <password>value</password> <username>value</username> </user>
-
JAX-RS
Um eine XML-Datei zurückzugeben, kommentieren Sie die Servicemethode mit @Produces ("application/xml") `. RESTEasy konvertiert das mit JAXB gekennzeichnete Objekt in eine XML-Datei und kehrt zum Client zurück.
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. Demo
Wenn das URI-Muster „ /xml/user/get “ angefordert wird, wird die folgende XML-Datei zurückgegeben.
<user pin="123456"> <password>password</password> <username>mkyong</username> </user>
Quellcode herunterladen
Laden Sie es herunter - Link://wp-content/uploads/2011/07/JAX-RS-Download-XML-JAXB-Example.zip[JAX-RS-Download-XML-JAXB-Example.zip](7 KB)
Referenzen
-
http://docs.jboss.org/resteasy/docs/2.2.1.GA/userguide/html/Built in JAXB__providers.html
JAXB-Anbieter]