@ResquestParam Annotation은 저번에 작성했던 HTTP 요청 데이터의 첫번째 방법인
GET + Query Parameter(=Query String)의 방법이다. (URL ? 뒷부분에 들어가는 키 밸류 형식으로 이루어져 있다.)


- “속성값”과 변수명이 같으면 생략이 가능하다. ex) @RequestParam("name") String name


*주의할 점*
- 속성값과 파라미터 이름이 완전히 같을 때 어노테이션과 속성값 모두 생략가능하나, 권장하지 않는 방식!!
- 어노테이션은 꼭 쓸 것!!!

required = false 값으로 설정되어 있으면 해당 파라미터는 없어도 된다.

@RequestParam(required = true) String name,
@RequestParam(required = false) int age 인 경우 name은 필수, age는 필수가 아니게 되는데
Key와 Value가 전달 되지않으면 age에는 null값이 들어가게 된다. 하지만 int의 경우 null을 넣을 수 없기 때문에 Integer를 사용해야 한다!

동일하게 Key값만 입력했을 경우 Value값을 빈 문자열로 인식하기 때문에 null이 아닌 String ""값이 들어가기 때문에 주의해야 한다!!

defaultValue 속성을 설정하게 되면 “” 빈 문자열의 경우에도 기본 값이 설정된다.



MultiValueMap의 경우 예시처럼 URL ? 뒤쪽에 key1 = value1, key1 = value2, key2 = value3 으로 사용가능!
하지만 대부분의 파라미터 값은 한 개만 존재하기 때문에 잘 사용하지 않는다!
'TIL' 카테고리의 다른 글
| @RequestBody, @ResponseBody, HttpEntity (0) | 2024.12.19 |
|---|---|
| @ModelAttribute (0) | 2024.12.19 |
| HTTP 요청 데이터 (2) | 2024.12.11 |
| Spring Annotation3 (1) | 2024.12.10 |
| Spring Annotation2 (0) | 2024.12.09 |