TIL

@RequestParam

ac012235 2024. 12. 18. 20:59

@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