2.7.9. JAXB 提供程序

2.7.9.1. JAXB 和 XML 提供程序

RESTEasy 为 XML 提供 JAXB 提供程序支持。

@XmlHeader and @Stylesheet

RESTEasy 提供使用 @org.jboss.resteasy.annotations.providers.jaxb.XmlHeader 注释设置 XML 标头。

示例:使用 @XmlHeader 注解

@XmlRootElement
public static class Thing {
   private String name;

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

@Path("/test")
public static class TestService {

   @GET
   @Path("/header")
   @Produces("application/xml")
   @XmlHeader("<?xml-stylesheet type='text/xsl' href='${baseuri}foo.xsl' ?>")
   public Thing get() {
      Thing thing = new Thing();
      thing.setName("bill");
      return thing;
   }
}

@XmlHeader 确保 XML 输出具有 XML 样式表标头。

RESTEasy 具有方便的样式表标头注释。

示例:使用 @Stylesheet 注解

@XmlRootElement
public static class Thing {
   private String name;

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }
}

@Path("/test")
public static class TestService {

   @GET
   @Path("/stylesheet")
   @Produces("application/xml")
   @Stylesheet(type="text/css", href="${basepath}foo.xsl")
   @Junk
   public Thing getStyle() {
      Thing thing = new Thing();
      thing.setName("bill");
      return thing;
   }
}