Quantcast
Channel: コンピューターの勉強会・研修ネタ
Viewing all articles
Browse latest Browse all 66

IoTの詳細(3) サーバー部(REST API/Spring Bootで作成)

$
0
0

IoTの全体像の例「照度センサーの情報を表示する」
http://ameblo.jp/smeokano/entry-12240624461.html
の続きです。上記のエントリーで
「それぞれの詳しいプログラムは、後日、この下に掲示します。」
とありますが、その「詳しいプログラム」第三弾、サーバー部分です。

 

 

●サーバー部とは
 以下の2つのWebAPI(RESTだけど、JSONでなく、テキストを返している)


(1)GW部からHTTPプロトコルで送られてくるデータを保存します

    具体的には、mydataに引数の値(data)をセットしています
   URL setdata
   引数 data セットしたいデータの値
   →今回はIDをつけないこととします。
  
(2)表示部からHTTPプロトコルで送られてくるデータ取得要求に対し、
   データを返します。 具体的には、mydataの値を返り値として返します。
   URL getdata
   引数 id 取得したいデータのID
   →今回はIDは無視して、セーブしているデータを返します。

 本当はGETじゃなくって、POSTのほうがいいです。
 けど、サンプルで面倒なのでGET型にしてしまいました

 

 

●サーバー部概要
 上記の2つのWebAPIをSpring Bootを使って作っています。
 MainContriller(つづりまちがえたMainControllerとしようと思った)
 のなかに、2つのAPIをRestControllerとして作成しています。

 作成の仕方は、

  Spring Bootしてみる その2 RESTの作り方
  http://ameblo.jp/smeokano/entry-12238931176.html

 に、インストールの仕方は

  Spring Bootしてみる その1 インストール
  http://ameblo.jp/smeokano/entry-12192851591.html

 に書いたので、今回は省略します。

 

 

●実際のプログラム
 こんなかんじ

  

package com.example;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RequestMethod;

@RestController
public class MainContriller {
    String    mydata = "----";
    
    @RequestMapping(value="/setdata",method=RequestMethod.GET)
    public String SetData(@RequestParam("data")String data)
    {
        mydata = data;
        return "ok";
    }

    @RequestMapping(value="/getdata",method=RequestMethod.GET)
    public String GetData(@RequestParam("id")String id)
    {
        return mydata;
    }

}
 


Viewing all articles
Browse latest Browse all 66

Trending Articles