Spring Bootの@RequestParamとは?便利な機能を徹底解説!

@RequestParam は、Spring Boot で HTTP リクエストのクエリパラメータを受け取る際に使用されるアノテーションです。@RequestParam にはいくつかのオプション属性があり、柔軟なパラメータの処理が可能です。


@RequestParam の主なオプション属性

属性説明デフォルト値
value または nameクエリパラメータの名前を指定変数名
requiredパラメータが必須かどうか (true なら必須)true
defaultValue値が渡されなかった場合のデフォルト値を設定なし

value または name(パラメータ名指定)

デフォルトではメソッド引数の名前がクエリパラメータ名として扱われますが、valuename を指定することで明示的にパラメータ名を指定できます。

@GetMapping("/greet")
public String greet(@RequestParam(value = "user") String username) {
    return "Hello, " + username;
}

リクエスト例:

GET /greet?user=John

レスポンス:

Hello, John


required(必須指定)

デフォルトでは @RequestParam は必須ですが、required = false にすると、パラメータがなくてもエラーになりません。

@GetMapping("/hello")
public String hello(@RequestParam(value = "name", required = false) String name) {
    return "Hello, " + (name != null ? name : "Guest");
}

リクエスト例:

GET /hello

レスポンス:

Hello, Guest


defaultValue(デフォルト値設定)

パラメータが渡されなかった場合や null の場合に、デフォルト値を設定できます。

@GetMapping("/welcome")
public String welcome(@RequestParam(value = "user", defaultValue = "Guest") String user) {
    return "Welcome, " + user;
}

リクエスト例:

GET /welcome

レスポンス:

Welcome, Guest


まとめ

属性用途
value / nameパラメータ名を指定
required必須かどうか (true なら必須、false なら省略可能)
defaultValueデフォルト値を指定

適切に @RequestParam のオプションを活用すると、柔軟なリクエスト処理が可能になります。

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

春のロゴ アイコン by Icons8

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。