RESTEasy で Java と JBoss7 を使用しています。サービスをテストするために、RESTful サービスとクライアントを作成しました。
ClientRequest request = new ClientRequest(
"http://localhost:8080/test/rest/cars");
request.accept(MediaType.APPLICATION_XML);
String input = "<car><carId>10.99</carId><carName>Ford</carName></car>";
request.body(MediaType.APPLICATION_XML, input);
ClientResponse<String> response = request.post(String.class);
System.out.println("Output from Server .... \n");
System.out.println(response.getStatus());
これは完璧に機能します!ここでの唯一の問題はクライアントにあります。String input = "<car><carId>10.99</carId><carName>Ford</carName></car>";
クライアントは私が持っているオブジェクトを持っていないので、ご覧のようにハードコーディングされた XML を送信する必要があります。
クライアントは get メソッドから受け取った XML 表現を模倣しますが、これは大規模で複雑なリソースでは困難な場合があります。
クライアントが送信したいオブジェクトの正しい構造を知る方法はありますか、それとも型付き XML を送信する必要がありますか?
WSDL や XSD に似たもの、または REST の制約に反するものをクライアントに与えることはできますか?
私は、人々が Xsteam とアンマーシャリングを使用するソリューションを見てきましたが、それらはクライアントがリソースのクラス表現を持っていると想定しています。