반응형
Spring Boot에서 클라이언트와 서버 사이에서 JSON으로 데이터를 주고받기 위해서는 주로 @RequestBody를 사용합니다. @RequestBody는 HTTP 요청 본문(body)에 포함된 JSON 데이터를 Java 객체로 변환해주는 역할을 합니다. 반면 @ModelAttribute는 주로 폼 데이터나 쿼리 파라미터를 객체로 바인딩할 때 사용됩니다.
@RequestBody와 @ModelAttribute의 차이
@RequestBody
- 용도: HTTP 요청 본문에 포함된 JSON, XML, 또는 다른 형식의 데이터를 Java 객체로 변환할 때 사용합니다.
- 변환: HttpMessageConverter를 사용하여 요청 본문을 Java 객체로 변환합니다. 기본적으로 JSON 처리를 위해 MappingJackson2HttpMessageConverter를 사용합니다.
- 형식: 주로 JSON 형식의 데이터와 함께 사용됩니다.
@ModelAttribute
- 용도: HTTP 요청의 폼 데이터, 쿼리 파라미터 또는 경로 변수와 같은 데이터를 Java 객체로 바인딩할 때 사용합니다.
- 변환: DataBinder를 사용하여 요청 데이터를 Java 객체로 바인딩합니다.
- 형식: 주로 application/x-www-form-urlencoded 또는 multipart/form-data 형식의 데이터와 함께 사용됩니다.
- 예제:
정리
- JSON 데이터 송수신: @RequestBody를 사용하여 클라이언트에서 서버로 JSON 데이터를 보낼 때 적합합니다.
- 폼 데이터 송수신: @ModelAttribute를 사용하여 클라이언트에서 서버로 폼 데이터나 쿼리 파라미터를 보낼 때 적합합니다.
Spring Boot 애플리케이션에서 클라이언트와 JSON 데이터를 주고받는 상황에서는 @RequestBody를 사용하는 것이 가장 일반적이고 적합한 방법입니다.
반응형
'Spring boot' 카테고리의 다른 글
쿠키,세션,토큰,JWT (0) | 2024.07.31 |
---|---|
@NotNull vs @NotEmpty (0) | 2024.07.29 |
CI/CD란 무엇인가 (0) | 2024.07.25 |
RESTful API 란 무엇인가?? (0) | 2024.07.25 |
SpringBoot TDD 끄적끄적 (0) | 2024.07.21 |