개발자 미니민의 개발스터디

[spring] RequestParam

by mini_min
[spring] RequestParam

✔️ @RequestParam

: 요청 파라미터와 메소드의 매개변수를 매핑한다.

: 요청 파라미터와 동일한 이름의 매개변수가 있는 경우 요청 파라미터를 받을 수 있다.

: 기본이 필수이므로 매개변수에 해당하는 요청 파라미터가 없으면 400 에러가 발생한다!

: 요청 파라미터가 없는 경우, 초기값을 부여할 수 있다. 

: 매개변수와 동일한 이름의 요청 파라미터가 없으면 null이다.

 

👩‍💻 ex06 예제

- required 가 false 라면 '필수'가 아니게 된다. (터지지 않는다.)

@GetMapping("request")
public String requestSubmit(@RequestParam(required = false) String name, //필수가 아니게 됨
        @RequestParam int age, 
        Model model) {
                        // 나이는 '필수' 이므로 나이가 없는 것들은 400 에어로 터진다. 
    String s = name + ", " + age;

    model.addAttribute("msg", s);

    return "ex04/result";
}

 

- @RequestParam 는 기본이 '필수'라서 동일한 이름의 요청 파라미터가 없으면 터진다.

@GetMapping("request")
public String requestSubmit(@RequestParam String name, @RequestParam int age, Model model) {
                            // 해당 인자들은 필수이므로 동일한 이름의 요청 파라미터가 없으면 400 에러가 뜬다.

    String s = name + ", " + age;

    model.addAttribute("msg", s);

    return "ex04/result";
}

 

- defaultValue 는 기본값이라서 동일한 이름의 요청 파라미터가 없으면 기본값이 반환된다.

- 요청 파라미터와 매개변수의 이름이 다른 경우 name 속성을 이용한다. 

//요청 파라미터와 매개변수의 이름이 다른 경우 name 속성을 이용한다.
@GetMapping("request")
public String requestSubmit(
        @RequestParam(defaultValue = "기본값-자바") String name, //기본값
        @RequestParam(name = "age", defaultValue = "0") int a, 
        Model model) {
                        // 나이는 '필수' 이므로 나이가 없는 것들은 400 에어로 터진다. 
    String s = name + ", " + a;

    model.addAttribute("msg", s);

    return "ex04/result";
}

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기