Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

15.13.2. アイザーおよび XML プロバイダー

RESTEasy は、XML に対する JAXB プロバイダーのサポートを容易にします。

@XmlHeader および @Stylesheet

RESTEasy は、@org.jboss.resteasy.annotations.providers.jaxb.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;
   }
}
The@XmlHeaderXML 出力に XML スタイルシートヘッダーがあることを確認します。

RESTEasy にはスタイルシートヘッダーの便利なアノテーションがあります。以下に例を示します。
@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;
   }
}