JAXB注釈付きクラスを記述できるはずです。Jerseyはこれらをすぐにサポートし、自動的に解析します。これは最もパフォーマンスの高いソリューションではないかもしれませんが、本当に素晴らしいクリーンなアプリになります。
パフォーマンスの問題があることを証明できない限り(そしてそれをJAXBまで追跡できるのでなければ)、マーシャリング/アンマーシャリングのオーバーヘッドについて心配する必要はありません。
編集:
JAXB注釈付きクラスは非常に単純な場合があります。次のようなXMLのモデリング。
<customer>
<name>Fred</name>
<email>fred@email.com</email>
<id>12345</id>
</customer>
これと同じくらい簡単です。
@XmlRootElement
public class Customer
{
private String name;
private String email;
private long id;
public Customer()
{
}
//getters and setters
}
その後、このようなサービスを作成できます。
@GET
@Produces(MediaType.APPLICATION_XML)
@Path("/getCustomer")
public Customer getCustomer()
{
Customer c = new Customer();
c.setName("Fred");
c.setEmail("fred@email.com");
c.setId(12345);
return c;
}
..そしてこのようなクライアント;
Client client = Client.create();
WebResource resource = client.resource("myHost/getCustomer");
Customer fred = resource.get(Customer.class):
その美しくシンプル。