menu
書いてる野郎
orebike@gmail.com
リクエストで来たパラメータそのものズバリでも分岐できる
このようなケース
http://localhost/hoge/piyo/fuga?unkoId=123
この設定で受ける
@RestController @RequestMapping("/hoge/piyo") public class HelloController { @RequestMapping(value="/fuga", params="unkoId=123") public String index() { return "Hello Spring Boot"; } }
しかし現実的に何かの数値によってメソッドを分けるようなケースはほとんどなく
このように利用されると思われる。
@RestController @RequestMapping("/hoge/piyo") public class HelloController { @RequestMapping(value="/fuga", params="save") public String index1() { return "Hello Spring Boot"; } @RequestMapping(value="/fuga", params="method=delete") public String index2() { return "Hello Spring Boot"; } }
index1 にやっている処理は form に submit ボタンが2個あるようなパターン。 submit ボタンは押したボタンの name を送出する仕様なので、押したボタンにより動作を分けたい場合に params に submit に設定した name をもってくることで出し分けが可能になる。
index2 にやっている処理は、どのクライアントも HTTP の各メソッドを使い分けれるわけではないので、それを擬似的にパラメータに入れるということで乗り切ろうというタイプのやつである。
主にこのような用途でこの機能は使われるのだと思われる。