728x90
@RequestParam
- 1개의 HTTP 요청 파라미터를 받기 위해 사용
- required 기본값 true → 반드시 해당 파라미터가 전송되어야 함
- 반드시 필요하지 않다면 required = false 설정
- defaultValue 옵션으로 기본값 설정 가능
@RequestBody
- 클라이언트가 전송하는 JSON (application/json) 형태의 HTTP 바디를 자바 객체로 변환
- `@RequestBody` 로 받는 데이터는 스프링의 MessageConverter 중 하나인 MappingJackson2HttpMessageConverter 를 통해 자바 객체로 변환됨 (ObjectMapper 클래스 사용)
@ModelAttribute
- 클라이언트가 전송하는 폼(form) 형태의 HTTP 바디와 요청 파라미터들을 생성자나 Setter 로 바인딩하기 위해 사용
- 매핑시키는 파라미터의 타입이 객체의 타입과 일치하는지 등 검증 (Validation) 을 추가적으로 진행
- 만약 int 형 변수에 String 값 넣으려고 하면 BindException 발생
- 특정 파라미터 값만 가져올 수도 있음
- ex) `@ModelAttribute(”writer”) String writer`
728x90
'Java | Spring' 카테고리의 다른 글
| [Spring] 예외 처리 - ExceptionResolver (0) | 2025.03.09 |
|---|---|
| [Spring] @ControllerAdvice, @RestControllerAdvice (0) | 2025.03.09 |
| [Java] 제네릭 (Generics) (2) | 2025.03.08 |
| [Java] 다형성과 캐스팅 (0) | 2025.03.08 |
| [Java] Builder 패턴과 @Builder 어노테이션 (0) | 2025.03.07 |