JAX-RSでRESTful webサービス構築してみる(AjaxでPOST)

JAX-RSでRESTful webサービス構築してみるで作成したプロジェクトにはindex.jspがあるとおもいます。

http://localhost:8080/sample-jax-rs/index.jspでアクセスできます。

このindex.jspファイルからAjaxでPOSTしてみたいと思います。

<!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形式で返します。

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での通信ができています。

JAX-RSでRESTful webサービス構築してみる(AjaxでPOST)

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA