Из этого туториала вы узнаете, как использовать JAXB для преобразования объекта в XML в Джерси и возврата его пользователю.
1. Зависимость
Для интеграции JAXB с Джерси дополнительная зависимость не требуется. Просто включите « jersey-server.jar ».
2. JAXB Аннотация
Аннотируйте объект с аннотацией JAXB, для преобразования позже.
import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "customer") public class Customer { String name; int pin; @XmlElement public String getName() { return name; } public void setName(String name) { this.name = name; } @XmlAttribute public int getPin() { return pin; } public void setPin(int pin) { this.pin = pin; } }
Выше объект будет преобразован в следующий формат XML.
<customer pin="value"> <name>value</name> </customer>
3. Джерси и XML
Чтобы вернуть файл XML, аннотируйте метод с помощью
@Produces (MediaType.APPLICATION__XML)
. Джерси автоматически преобразует аннотированный объект JAXB в файл XML.
import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import com.mkyong.Customer; @Path("/xml/customer") public class XMLService { @GET @Path("/{pin}") @Produces(MediaType.APPLICATION__XML) public Customer getCustomerInXML(@PathParam("pin") int pin) { Customer customer = new Customer(); customer.setName("mkyong"); customer.setPin(pin); return customer; } }
4. Демо
При запросе шаблона URI « xml/customer/\ {param value} » будет возвращен отформатированный файл XML.
URL: http://localhost : 8080/RESTfulExample/rest/xml/customer/999
Скачать исходный код
Загрузить его - ссылка://wp-content/uploads/2011/07/XML-Support-Jersey-Example.zip[XML-Support-Jersey-Example.zip](6 КБ)
Рекомендации
, http://jersey.java.net/nonav/documentation/latest/xml.html [XML support
в Джерси]
ссылка://тег/интеграция/[интеграция]ссылка://тег/jaxb/[jaxb]ссылка://тег/джерси/[джерси]ссылка://тег/xml/[xml]