JAX-RSのテスト用HTTPクライアント
連載第2回で説明したように、JAX-RSでは、Web上のリソースを「Webリソースクラス」として作成し、JavaEEサーバ(Webコンテナ)にデプロイします。それでは、実際にデプロイしたWebリソースクラスを呼び出し、結果を受け取るテストを行うためには、どうしたらよいでしょうか。
Webリソースクラスを呼び出すためには、HTTPクライアント機能を持った何らかのアプリケーションが必要です。もちろん、Webブラウザを使ってもある程度のことはできますが、手軽にJSONフォーマットのデータを送信したり、HTTPヘッダに何らかの値をセットしたりするには、Webブラウザは適していません。
また、一般的なWebブラウザは、DELETEメソッド、PUTメソッド、HEADメソッドについては、サポートしていないものが多いでしょう。
そこで本連載では、JAX-RSのテストを効率的に行うために、HTTPクライアントツールRESTClientを使用します(※1)。RESTClientはSWINGで開発されたGUIツールで、以下のWebサイトからダウンロード可能です。執筆時点の最新バージョンは、2.1です。
※1 RESTful Webサービスのテスト用のHTTPクライアントツールとしては、その他にFireFoxのプラグインである"Poster"があります。
RESTClientのユーザインタフェース
それでは、RESTClientの使用方法を簡単に説明しましょう。RESTClientは、実行形式のJARファイルとして提供されますので、以下のようにして起動します。
java -jar \<JARファイルの格納ディレクトリのパス>\restclient-2.1-jar-with-dependencies.jar
RESTClientは、図1のように直感的に操作することができる分かりやすいユーザインタフェースを持っています。
①プロバイダに送信するHTTPリクエストに関する情報を入力するエリア
②プロバイダのURLを入力するフィールド
③HTTPメソッドの種類を選択するタブ
④HTTPヘッダを追加するタブ
⑤MIMEタイプを指定したり、メッセージボディを入力するタブ
⑥認証(BASIC認証またはDIGEST認証)に必要な情報を入力するタブ
⑦プロバイダから返送されたHTTPレスポンスに関する情報が表示されるエリア
⑧HTTPヘッダが表示されるタブ
⑨メッセージボディが表示されるタブ