@RequestParam과 @RequestBody는 Spring에서 HTTP 요청의 데이터를 처리하는 데 사용되는 두 가지 어노테이션이며, 각각 서로 다른 유형의 데이터를 처리합니다.
@RequestParam:
주로 URL의 쿼리 파라미터를 처리하는 데 사용됩니다.
GET, POST 등 모든 HTTP 메서드에서 사용할 수 있습니다.
주로 단순한 데이터 타입의 경우 사용하며, 주로 폼 데이터와 함께 사용됩니다.
예: http://localhost:8080/api/users?id=1에서 id 값을 가져오는 경우 @RequestParam("id") int id를 사용합니다.
@RequestBody:
주로 HTTP 요청 본문의 내용을 처리하는 데 사용됩니다.
주로 POST, PUT 등의 메서드에서 사용되며, JSON 또는 XML과 같은 복잡한 구조를 가진 데이터를 처리하는 데 유용합니다.
요청 본문의 데이터를 자동으로 Java 객체로 변환할 수 있습니다.
예: JSON 데이터를 처리하는 경우 @RequestBody User user를 사용하면 요청 본문의 JSON 데이터를 User 클래스의 객체로 변환합니다.
간단한 예제로, 다음과 같은 HTTP 요청을 생각해 보겠습니다:
'Spring' 카테고리의 다른 글
JPA @EntityGraph(attributePaths = "authorities") (0) | 2023.06.13 |
---|---|
Spring Security 관련 CORS에러 (0) | 2023.06.12 |
Session 과 토큰기반 둘다 사용하면 보안이 더 잘될까? (0) | 2023.04.27 |
백엔드에서 멤버인증 방법 (0) | 2023.04.27 |
토큰 저장할 때 로컬스토리지와 쿠키 (0) | 2023.04.27 |