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

2022年7月1日

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

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

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@RequestParam(name = "addr", required = false) String addr)
@RequestMapping(value = "/Sample", method = RequestMethod.POST) public String Sample(@RequestParam(name = "addr", required = false) String addr)
@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@RequestParam(name = "addr", required = false) String addr)

1.2 defaultValue属性

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@RequestParam(name = "addr", defaultValue = "tokyo") String addr)
@RequestMapping(value = "/Sample", method = RequestMethod.POST) public String Sample(@RequestParam(name = "addr", defaultValue = "tokyo") String addr)
@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@RequestParam(name = "addr", defaultValue = "tokyo") String addr)

2.URLパスパラメータ

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@GetMapping("/Sample/{name}")
public String Sample(@PathVariable(name = "addr", required = false) String addr) {処理コード}
@GetMapping("/Sample/{name}") public String Sample(@PathVariable(name = "addr", required = false) String addr) {処理コード}
@GetMapping("/Sample/{name}")
public String Sample(@PathVariable(name = "addr", required = false) String addr) {処理コード}

3.@MatrixVariableアノテーション

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@MatrixVariableアノテーションのvalue属性に、
URLパスパラメータに付随するURL行列パラメータ名を指定することで、行列パラメータの値を取得します。
@MatrixVariableアノテーションのvalue属性に、 URLパスパラメータに付随するURL行列パラメータ名を指定することで、行列パラメータの値を取得します。
@MatrixVariableアノテーションのvalue属性に、
URLパスパラメータに付随するURL行列パラメータ名を指定することで、行列パラメータの値を取得します。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@GetMapping("/Sample/{name}")
public String Sample(@MatrixVariable(name = "userNum", required = false) Integer userNum) {処理コード
@GetMapping("/Sample/{name}") public String Sample(@MatrixVariable(name = "userNum", required = false) Integer userNum) {処理コード
@GetMapping("/Sample/{name}")
public String Sample(@MatrixVariable(name = "userNum", required = false) Integer userNum) {処理コード

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@CookieValue(name = "userName", required = false) String userName)
@RequestMapping(value = "/Sample", method = RequestMethod.POST) public String Sample(@CookieValue(name = "userName", required = false) String userName)
@RequestMapping(value = "/Sample", method = RequestMethod.POST)
public String Sample(@CookieValue(name = "userName", required = false) String userName)

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

public @interface RequestBody

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
メソッドパラメーターを示すアノテーションは、Web リクエストの本文にバインドする必要があります。リクエストの本文は HttpMessageConverter を介して渡され、リクエストのコンテンツタイプに応じてメソッド引数が解決されます。
メソッドパラメーターを示すアノテーションは、Web リクエストの本文にバインドする必要があります。リクエストの本文は HttpMessageConverter を介して渡され、リクエストのコンテンツタイプに応じてメソッド引数が解決されます。
メソッドパラメーターを示すアノテーションは、Web リクエストの本文にバインドする必要があります。リクエストの本文は HttpMessageConverter を介して渡され、リクエストのコンテンツタイプに応じてメソッド引数が解決されます。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@PostMapping("/Sample")
public String Sample(@RequestBody(required = false) String body) {
@PostMapping("/Sample") public String Sample(@RequestBody(required = false) String body) {
@PostMapping("/Sample")
public String Sample(@RequestBody(required = false) String body) {

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

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@PostMapping("/Sample")
public String Sample(@SessionAttribute(name = "userNum", required = false) Integer userNum)
@PostMapping("/Sample") public String Sample(@SessionAttribute(name = "userNum", required = false) Integer userNum)
@PostMapping("/Sample")
public String Sample(@SessionAttribute(name = "userNum", required = false) Integer userNum)

 

SpringMVC

Posted by arkgame