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ログ編)


<お勧め書籍>

わかりやすいJavaEEウェブシステム入門
JavaEEに関して基本的なことが分かり易く記述されている。
JavaEEに関する最初の1冊としてお勧めである。
Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava
「金魚本」の愛称を持つJavaEEの教科書的な書籍である。
JavaEEを腰を据えて学びたい人にお勧めする1冊!!