Из этого туториала вы узнаете, как использовать 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]