JAX-RSでRESTful webサービス構築してみる(AjaxでPOST)
JAX-RSでRESTful webサービス構築してみるで作成したプロジェクトにはindex.jspがあるとおもいます。
http://localhost:8080/sample-jax-rs/index.jspでアクセスできます。
このindex.jspファイルからAjaxでPOSTしてみたいと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8" /> <script src="http://code.jquery.com/jquery.js"></script> </head> <body> <button type="button" value="button" id="aaa" >button</button> <div id="result"></div> <script> $("#aaa").click(function(){ $.ajax({ url:"restful/sample/tekitou-url",// 適当です type:"POST", dataType:"JSON", data:{"key":"value"}, success : function(data) { $("#result").append(data.key); }, error : function(XMLHttpRequest, textStatus, errorThrown) { alert("エラー:" + textStatus +":\n" + errorThrown); } }); }); </script> </body> </html> |
urlは適当に一意にしています。サーバ側で@Pathでマッピングすればそのメソッドが呼ばれます。
レスポンスのデータを、divタグに追加しています。
以下はPOSTでJSON形式を受信するメソッドです。面倒なのでべた書きしていますが、クライアントから送られたJSON形式のデータをJSONICで解析したりして、JSON形式で返します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
package com.confrage.jaxrs; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @Path("/sample") public class SampleServlet{ @GET public String aaaaa() { return "wahaha"; } @POST @Path("/tekitou-url") @Produces(MediaType.APPLICATION_JSON) public String bbbbb(String json) { String resJson = "{\"key\" : \"返信\"}"; return resJson; } } |
mvnでビルドしてTomcatに再配置して再起動するとボタンの下に、「返信」って文字が出ます。これでサーバとのPOSTでの通信ができています。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
資格:少額短期保険募集人,FP3級