REST風サービスをJavaEEで構築する方法04(各メソッド編)
前回までは、GETメソッドのみを対象としてきたが、今回はGETメソッド以外(POST、PUT、DELETE)の実装方法を紹介する。
簡潔に実装方法を説明すると、これまで「@GET」を指定していた箇所で、「@POST」、「@PUT」、「@DELETE」を指定することになる。
<前提条件>
下記の記事を読了していること。
・REST風サービスをJavaEEで構築する方法01(導入編)
・REST風サービスをJavaEEで構築する方法02(雛形プロジェクト編)
・REST風サービスをJavaEEで構築する方法03(RESTクライアント編)
<全体像から見た位置づけ>
RESTクライアントとApi層の追加実装を行う。
<手順概要>
1.Api層の追加実装を行う
2.index.htmlファイルの追加実装を行う
<手順詳細>
1.Api層の追加実装を行う
REST風サービスをJavaEEで構築する方法02(雛形プロジェクト編)で作成した「SampleApi」クラスに3つのメソッドを追加する。
package lab.moonmt.SampleRest.api; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; @Path("sampleApi") public class SampleApi { @GET @Path("getSample") public String getSampleMethod(){ return "Hello REST world(GET)"; } @POST //...(1) @Path("postSample") public String postSampleMethod(){ return "Hello REST world(POST)"; } @PUT //...(2) @Path("putSample") public String putSampleMethod(){ return "Hello REST world(PUT)"; } @DELETE //...(3) @Path("deleteSample") public String deleteSampleMethod(){ return "Hello REST world(DELETE)"; } }
ソースコード解説
番号 | 説明 |
---|---|
(1) | @POSTアノテーションを使用し、POSTメソッドである事を設定する |
(2) | @PUTアノテーションを使用し、PUTメソッドである事を設定する |
(3) | @DELETEアノテーションを使用し、DELETEメソッドである事を設定する |
2.index.htmlファイルの追加実装を行う
REST風サービスをJavaEEで構築する方法03(RESTクライアント編)で編集した、index.htmlファイルを以下の様に追加編集する。
<!DOCTYPE html> <html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- jQueryライブラリの読み込み --> <script src='js/libs/jquery-1.11.2.min.js'></script> <!-- RESTクライアントの記述 --> <script> $(function(){ $('#btnGet').on('click', function(){ $.ajax({ type: "GET", url: "http://localhost:8080/SampleRest/webresources/sampleApi/getSample", success: function(data){ alert(data); } }); }); $('#btnPost').on('click', function(){ $.ajax({ type: "POST", url: "http://localhost:8080/SampleRest/webresources/sampleApi/postSample", success: function(data){ alert(data); } }); }); $('#btnPut').on('click', function(){ $.ajax({ type: "PUT", url: "http://localhost:8080/SampleRest/webresources/sampleApi/putSample", success: function(data){ alert(data); } }); }); $('#btnDelete').on('click', function(){ $.ajax({ type: "DELETE", url: "http://localhost:8080/SampleRest/webresources/sampleApi/deleteSample", success: function(data){ alert(data); } }); }); }); </script> </head> <body> <input type="button" value="GETメソッド" id="btnGet" /><br> <input type="button" value="POSTメソッド" id="btnPost" /><br> <input type="button" value="PUTメソッド" id="btnPut" /><br> <input type="button" value="DELETEメソッド" id="btnDelete" /> </body> </html>
<動作確認>
プロジェクトを実行し、ブラウザに表示されたボタンを押下すると、それぞれに対応したメッセージが記述された、ダイアログが表示されることを確認する。
※【PUTメソッド】ボタンを押下した場合の表示例
Enjoy Programing!!
<関連記事>
・REST風サービスをJavaEEで構築する方法01(導入編)
・REST風サービスをJavaEEで構築する方法02(雛形プロジェクト編)
・REST風サービスをJavaEEで構築する方法03(RESTクライアント編)
・REST風サービスをJavaEEで構築する方法04(各メソッド編)[本記事]
・REST風サービスをJavaEEで構築する方法05(パラメータの受け取り編)
・REST風サービスをJavaEEで構築する方法06(JSON返却編1)
・REST風サービスをJavaEEで構築する方法07(JSON返却編2)
・REST風サービスをJavaEEで構築する方法08(Logic層編)
・REST風サービスをJavaEEで構築する方法09(DB接続設定編)
・REST風サービスをJavaEEで構築する方法10(DAO層編1)
・REST風サービスをJavaEEで構築する方法11(DAO層編2)
・REST風サービスをJavaEEで構築する方法12(DAO層編3)
・REST風サービスをJavaEEで構築する方法13(SQLログ編)
<お勧め書籍>