パラメータとURIパス
では先ほど生成されたリソースクラスに対してGETメソッドの内容を実装して、動作確認をします。生成された@GETを実装するメソッドは以下のようになっていました。
@Path("user") public class UserResource { …(中略)… @GET @Produces("text/plain") public String getText() { //TODO return proper representation object throw new UnsupportedOperationException(); } …(中略)… }
getText()メソッドはStringで値を返すよう定義しており、このメソッドはまだ実装していないのでUnsupportedOperationExceptionを返しています。この内容を修正していきましょう。
まずは単純に何らかの文字列を返す、非常に簡単な機能を実装します。次のようにgetText()メソッドの内容を修正してみましょう。
@Path("user") public class UserResource { …(中略)… @GET @Produces("text/plain") public String getText() { return "This is JAX-RS Message."; } …(中略)… }
これでリソースクラスの準備はできましたので、実際にサーバーを動作してからリソースを取得してみましょう。まずはサーバーへアプリケーションを搭載(デプロイ)します。次の図のように、SampleAppプロジェクトを選択し、右クリックを押して「デプロイ」を選択します(デプロイは初回のみ行います。デプロイ後に変更したクラスは自動的にサーバーへ反映されます)。
デプロイを選択すると、自動的にGlassFishサーバーが起動し、プロジェクトが配置されます。サーバーが起動完了するまでに数秒~数十秒必要です。無事サーバーの起動が完了したらテストを行い、先ほど編集したメッセージが出力されるかを確認します。
テストの開始方法は、以下の図のようにSampleAppプロジェクト内の「RESTful Webサービス」内にある「UserResource[user]」を選択して右クリックをし、「テスト・リソースURI」を選びます。
テスト・リソースURIを選択すると、ブラウザが自動的に起動してアドレスバーに次のURIが入力され、次の図の画面が表示されます。
- http://localhost:8080/SampleApp/webresources/user
先ほどGETメソッドに編集した「This is JAX-RS Message.」が表示されたことを確認できました。今回の例では@Producesで「text/plain」と設定していますので、ブラウザはそのままテキストを表示していますが、他にもHTMLやJSON形式のデータも選べます。
まとめ
今回はJAX-RSでWebサービスを作成し、確認するところまで紹介しました。次回は作成したWebサービスに対して、機能を追加していきます。