Spring Bootでの動的なパラメーターの実現方法は何ですか?

Spring Bootでは、動的パラメータを実現するために@RequestParamアノテーションを使用できます。

@RequestParamアノテーションは、リクエストパラメータをメソッドのパラメータにバインドするために使用されます。パラメータの名前、必須かどうか、デフォルト値などを設定することができます。

こちらは例です。

@GetMapping("/hello")
public String hello(@RequestParam("name") String name) {
    return "Hello " + name;
}

上記の例では、nameパラメータは必須です。このパラメータがリクエストに含まれていない場合、例外が発生します。required属性をfalseに設定することで、パラメータを必須ではないものに設定することができます。

例えば:

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

基本タイプ以外に、@RequestParam注釈はリクエストパラメータをカスタムオブジェクトにバインドすることもサポートしています。

例えば:

public class User {
    private String name;
    private int age;
    
    // getters and setters
}

@GetMapping("/hello")
public String hello(@RequestParam("name") String name, @RequestParam("age") int age) {
    User user = new User();
    user.setName(name);
    user.setAge(age);
    
    // do something with the user object
    
    return "Hello " + name;
}

上記の例では、リクエストパラメーターのnameとageは、Userオブジェクトの対応する属性にバインドされます。

bannerAds