2014年09月15日

なにもせんかった

この連休、グダグダしてるうちに今に至る。
もったいない事したなとちょっと後悔。
まぁ、近所を散歩したりはしたけども。
んでもって、散歩の風景を一枚。
Scenery.jpg


posted by NERDY at 15:11 | Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2014年09月14日

Jersey を使ってみる3

Jersey の試行の最後として、POST での受け渡し。

1.RestSample.java を次のように改造
package com.example.rest;

import javax.ws.rs.Path;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

@Path("iroiro")
public class RestSample {
  @GET
  // パスの一部を引数として受け取る例
  @Path("expath/{hoge}")
  public String sample1(@PathParam("hoge") String param) {
    return "こんなん出ました:" + param;
  }

  @GET
  // クエリストリングを受け取る例
  @Path("exquery")
  public String sample2(
    @QueryParam("hoge") String hoge,
    @QueryParam("huga") String huga) {

    return "ほな1個目:" + hoge + "、ほな2個目:" + huga;
  }

  @POST
  // Json で返す例
  @Path("exjson")
  @Produces(MediaType.APPLICATION_JSON)
  public TestJsonDto exjson(JsonObject jo) {
    TestJsonDto dto = new TestJsonDto();
    dto.setName1(jo.getName());
    dto.setName2(jo.getAge());
    dto.setName3("もう一時だ");
    dto.setName4("寝るかなぁ");

    return dto;
  }
}

2.さらに、TestJsonDto.java の2つめのメンバを int に変更
package com.example.rest;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class TestJsonDto {
  private String name1;
  private int name2;
  private String name3;
  private String name4;

  public TestJsonDto() {
  }
  public TestJsonDto(String name1, int name2, String name3, String name4) {
    this.name1 = name1;
    this.name2 = name2;
    this.name3 = name3;
    this.name4 = name4;
  }
  public String getName1() {
    return name1;
  }
  public void setName1(String name1) {
    this.name1 = name1;
  }
  public int getName2() {
    return name2;
  }
  public void setName2(int name2) {
    this.name2 = name2;
  }
  public String getName3() {
    return name3;
  }
  public void setName3(String name3) {
    this.name3 = name3;
  }
  public String getName4() {
    return name4;
  }
  public void setName4(String name4) {
    this.name4 = name4;
  }
}

3.Json 形式データの受け取り用に、JsonObject.java を作成
package com.example.rest;

public class JsonObject {
  private String name;
  private int age;

  public JsonObject() {
  }

  public JsonObject(String name, int age) {
    this.name = name;
    this.age = age;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }
}

4.Chrome 拡張「Advanced REST client」を試用して動作のチェック
postresult.jpg

5.ついでに、jQuery からつついてみる
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="utf-8" />
  <title>jQuery & Ajax & Jersey Example</title>

  <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
  <script>
  $(document).ready(function()
  {
    $('#send').click(function()
    {
      // Jsonデータ定義 var data = {パラメータ名 : 値};
      // ここは、ダブルクォーテーションでないとダメ
      // シングルクォーテーションだとダメダメ
      var data = {"name" : "あいうえお","age" : 16};

      $.ajax({
        type: 'post',
        url: 'http://localhost:8080/rest-sample/rest/iroiro/exjson',
        data: JSON.stringify(data),
        datatype: 'json',
        Accept: 'application/json',
        // charset=UTF-8 がないとダメダメ。ここがわかんなかった
        contentType: 'application/json; charset=UTF-8',
        success: function(data, dataType)
        {
          alert(JSON.stringify(data));
        },
        error: function(XMLHttpRequest, textStatus, errorThrown)
        {
          alert('Error : ' + errorThrown);
        }
      });
      
      // ページをリロードしないようにする
      return false;
    });
  });
  </script>
</head>
<body>
  <h1>jQuery & Ajax & Jersey Example</h1>
  <form method="post">
    <p><input id="send" value="送信" type="submit" /></p>
  </form>
</body>
</html>

jquery.jpg
posted by NERDY at 01:58 | Comment(0) | 技術 | このブログの読者になる | 更新情報をチェックする

2014年09月11日

サザエさん???

なんか最近、なにやっても裏目にでるなぁ、と。
楽しい気分になりたいところで。

この曲、1968年にリリースされてるみたいで、サザエさんの放送開始が1969年。
それにしても似てるなぁ。
posted by NERDY at 22:33 | Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。