Jersey JAXBを使用したXMLの例
このチュートリアルでは、JAXBを使用して、
objectをJersey
のXMLに変換してユーザーに返します。
1.依存関係
JAXBとJerseyを統合するために、余分な依存関係は必要ありません。単に ”
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)`と注釈を付けます。 Jerseyは、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ファイルが返されます。
ソースコードをダウンロードする
ダウンロードする –
XML-Support-Jersey-Example.zip
(6 KB)
参考文献
ジャージーで]