「Spring入門」@RequestParamアノテーション の使い方

2022年7月1日

1.リクエストパラメータ(@RequestParam)
1.1 required属性

public @interface RequestParam
メソッドパラメーターを Web リクエストパラメーターにバインドする必要があることを示すアノテーション。
Spring MVC では、「リクエストパラメーター」は、マルチパートリクエストのクエリパラメーター、フォームデータ、パーツにマップされます。

使用例

@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@RequestParam(name = "addr", required = false) String addr)

1.2 defaultValue属性

@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@RequestParam(name = "addr", defaultValue = "tokyo") String addr)

2.URLパスパラメータ

@GetMapping("/Sample/{name}")
public String Sample(@PathVariable(name = "addr", required = false) String addr) {処理コード}

3.@MatrixVariableアノテーション

@MatrixVariableアノテーションのvalue属性に、
URLパスパラメータに付随するURL行列パラメータ名を指定することで、行列パラメータの値を取得します。

使用例

@GetMapping("/Sample/{name}")
public String Sample(@MatrixVariable(name = "userNum", required = false) Integer userNum) {処理コード

4.クッキーパラメータ(@CookieValue)

public @interface CookieValue
メソッドパラメーターが HTTPCookie にバインドされていることを示すアノテーション。

@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@CookieValue(name = "userName", required = false) String userName)

5.リクエストボディー(@RequestBody)

public @interface RequestBody

メソッドパラメーターを示すアノテーションは、Web リクエストの本文にバインドする必要があります。リクエストの本文は HttpMessageConverter を介して渡され、リクエストのコンテンツタイプに応じてメソッド引数が解決されます。

使用例

@PostMapping("/Sample")
public String Sample(@RequestBody(required = false) String body) {

6.HTTPセッション(@SessionAttribute)

Sessionを使うためにControllerにSessionAttirbutesアノテーションをつけてvalueにオブジェクトの名前をつけます。

@PostMapping("/Sample")
public String Sample(@SessionAttribute(name = "userNum", required = false) Integer userNum)

 

SpringMVC

Posted by arkgame