RestEasy クライアント フレームワークを使用して REST サービスをテストしたいと考えています。私のアプリケーションでは、基本認証を使用しています。RestEasy のドキュメントによると、org.apache.http.impl.client.DefaultHttpClient
認証用の資格情報を設定するために を使用しています。
HTTP-GET リクエストの場合、これは正常に機能します。私は承認されており、必要な結果のレスポンスを取得します。
しかし、リクエストの HTTP-Body に Java オブジェクト (XML) を含む HTTP-Post/HTTP-Put を作成したい場合はどうすればよいでしょうか? を使用しているときに、Java オブジェクトを HTTP-Body に自動的にマーシャリングする方法はありますorg.apache.http.impl.client.DefaultHttpClient
か?
認証用のコードは次のとおりです。XML-String を記述したり、InputStream を使用したりせずに、HTTP-Post/HTTP-Put を作成する方法を誰か教えてもらえますか?
@Test
public void testClient() throws Exception {
DefaultHttpClient client = new DefaultHttpClient();
client.getCredentialsProvider().setCredentials(
new AuthScope(host, port),
new UsernamePasswordCredentials(username, password));
ApacheHttpClient4Executor executer = new ApacheHttpClient4Executor(
client);
ClientRequest request = new ClientRequest(requestUrl, executer);
request.accept("*/*").pathParameter("param", requestParam);
// This works fine
ClientResponse<MyClass> response = request
.get(MyClass.class);
assertTrue(response.getStatus() == 200);
// What if i want to make the following instead:
MyClass myClass = new MyClass();
myClass.setName("AJKL");
// TODO Marshall this in the HTTP Body => call method
}
サーバー側のモックフレームワークを使用して、そこにオブジェクトをマーシャリングして送信する可能性はありますか?