最終更新: hira_kosukety 2017年03月17日(金) 15:41:46履歴
分類:Spring Boot(V1.4.3.RELEASE)
概要:get メッセージを処理
環境:Eclipse
ブラウザ:Chrom
コントローラークラスを作る。
パッケージはわかりやすいように、jp.co.hoge.controller かなんかにする。
クラス名もコントローラーとわかるように 『hogecontroller』とか
クラスの宣言の上に「@Controller」か「@RestController」アノテーションを付ける。
※@Controller 時は主にWebページ用。戻り値はString型で遷移先のURLを指定する必要がある
作成したクラスの中に、処理するメソッドを追加していくが、URLと呼び出されるメソッドのマッピング(紐づけ)行う。
マッピングには「@RequestMapping」アノテーションを用いる。
パラメータでもろもろ設定をする。
・「path」パラメータ
どのメッセージを処理するかを指定する。サイトルート以下のパスを記載。
全体のパスが「http:://hoge.co.jp/hogehoge/test.html」でサイトルートが「http://hoge.co.jp/hogehoge」であれば
「path="/test"」と指定する。
呼び出しURLの例
要求時に付与されるパラメータは、メソッドの引数で受け取る
引数で「@RequestParam("パラメータ名") 引数型 引数名」と指定する。
例えば、パラメータ名が「test」で文字列が渡されるとすると、
@RequestParam("test") String test
とする、複数パラメータがある場合は、「,」で区切って必要数分記述する。
PATH について補足。
同じ「aaa」の下にある処理[aaa/test1」「aaa/test2」がある場合、
クラスの上に「@RequestMapping("/aaa")」と宣言しておけば、
メソッドに付ける「@RequestMapping」では「/aaa」を省略して「@RequestMapping(path="test1")」と「/aaa」以下の指定で記述できる。
ローカルホストでルートが「Escrow」で指定があり、「/api/seller/AccountInfo」APIをGETで文字列パラメータ「aaa」で呼び出される処理は
○呼び出し側(GETの場合)
○受取側
画面には、戻り値で返した「top」が表示される。
概要:get メッセージを処理
環境:Eclipse
ブラウザ:Chrom
コントローラークラスを作る。
パッケージはわかりやすいように、jp.co.hoge.controller かなんかにする。
クラス名もコントローラーとわかるように 『hogecontroller』とか
クラスの宣言の上に「@Controller」か「@RestController」アノテーションを付ける。
※@Controller 時は主にWebページ用。戻り値はString型で遷移先のURLを指定する必要がある
@Controller public class webpageController{}※@RestController はWebAPI用。戻り値はJsonやXML等のコンテンツ
@RestController public class webapiController{}※用途によって使い分けるべし!!もっと詳しく知りたいのなら、こちらを参照。まとめてありありがたや。
作成したクラスの中に、処理するメソッドを追加していくが、URLと呼び出されるメソッドのマッピング(紐づけ)行う。
マッピングには「@RequestMapping」アノテーションを用いる。
パラメータでもろもろ設定をする。
・「path」パラメータ
どのメッセージを処理するかを指定する。サイトルート以下のパスを記載。
全体のパスが「http:://hoge.co.jp/hogehoge/test.html」でサイトルートが「http://hoge.co.jp/hogehoge」であれば
「path="/test"」と指定する。
呼び出しURLの例
@Controller :http:://hoge.co.jp/hogehoge/test.html?abc=エービーシー @RestController:http:://hoge.co.jp/hogehoge/test?abc=エービーシー・「method」パラメータ
処理する要求方法を指定する。GetかPost。未指定であれば「Get」の呼び出し処理と判断される。 「method=RequestMethod.要求方法」と指定する。 要求方法には「GET」か「POST」が入る。
要求時に付与されるパラメータは、メソッドの引数で受け取る
引数で「@RequestParam("パラメータ名") 引数型 引数名」と指定する。
例えば、パラメータ名が「test」で文字列が渡されるとすると、
@RequestParam("test") String test
とする、複数パラメータがある場合は、「,」で区切って必要数分記述する。
PATH について補足。
同じ「aaa」の下にある処理[aaa/test1」「aaa/test2」がある場合、
クラスの上に「@RequestMapping("/aaa")」と宣言しておけば、
メソッドに付ける「@RequestMapping」では「/aaa」を省略して「@RequestMapping(path="test1")」と「/aaa」以下の指定で記述できる。
ローカルホストでルートが「Escrow」で指定があり、「/api/seller/AccountInfo」APIをGETで文字列パラメータ「aaa」で呼び出される処理は
○呼び出し側(GETの場合)
http://localhost:8080/Escrow/api/seller/AccountInfo?aaa=parameter
○受取側
package jp.co.swaa.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api") public class ApiController { private static final Logger log = LoggerFactory.getLogger(ApiController.class); @RequestMapping("/seller/AcountInfo") public String AccountInfo(@RequestParam("aaa") String abcd) { log.info("Call API /seller/AccountInfo"+abcd); return "top"; } }
画面には、戻り値で返した「top」が表示される。
コメントをかく