세 줄 요약
View로부터 넘겨준 쿼리문의 값을 파라미터 이름으로 바인딩
속성에는 1) value, 2) required, 3) default 가 있음
value의 경우 View에서 넘겨준 파라미터 이름과 매개변수의 이름이 같다면 생략가능
@ResponseBody
sourcecode
@ResponseBody
해당 어노테이션을 사용하면 ViewResolver 대신 HttpMessageConverter가 동작
- @Controller 어노테이션이 적용 되었더라도, View 조회를 무시하고 HTTP message body에 직접 return값을 반환
* HttpMessageConverter
Java와 HTTP 웹 어플리케이션 간에 객체변환을 통한 파라미터 전달을 도와주는 어노테이션
여러 가지 타입의 데이터 처리를 위해 기본으로 등록되어 있음
- 기본 문자 처리의 경우 : StringHttpMessageConverter
- 기본 객체 처리의 경우 : MappingJackson2 HttpMessageConverter
* 구현 및 상속 관계
- HttpMessageConverter(i) → AbstractHttpMessageConverter(ac) → StringHttpMessageConverter(c)
@RequestParam
@RequestParam
URL의 '?' 뒤에 오는 쿼리의 결과를 하나씩 받을 때 사용
속성
1) value
- View로 부터 넘겨 받는 파라미터 이름
- 메소드의 매개변수의 이름과 같다면 해당 속성은 생략 가능
2) required
- false : View에서 넘겨주는 값이 없는 경우를 허용
- View에서 넘겨주는 값이 없는 경우 매개변수 값은 defaultValue로 세팅
- defaultValue가 설정되지 않은 경우
- key 값이 있는 경우 : 빈 문자열(" ")
- key 값이 없는 경우 : null
- int 타입의 매개변수엔 빈 문자열과 null 모두 담을 수 없기 때문에 예외 처리가 필요!
- true : View에서 반드시 넘겨줘야 하는 경우 (required 속성의 default 값)
- 넘겨주지 않는 경우를 확인하기 위한 예외처리 필요
3) defaultValue
- required=false의 경우(View로 부터 넘겨받은 값이 없는 경우), 기본으로 설정할 값
* refs
https://kimcoder.tistory.com/531
https://cheershennah.tistory.com/179
https://hyos-dev-log.tistory.com/18
'Spring-Java > Spring' 카테고리의 다른 글
@RequiredArgsConstructor (1) | 2023.12.21 |
---|---|
@RequestBody, @ResponseBody (feat.@ModelAttribute) (0) | 2023.12.18 |
Day55_HTTP 요청/응답 사이클 (1) | 2023.12.14 |
Day53_Spring Legacy Project 설정 (0) | 2023.12.14 |
Day51_MVC Architecture (2) | 2023.12.06 |