SpringBoot

[SpringBoot] @RequestParam VS @RequestBody

wwxs 2024. 10. 17. 09:14

@RequestParam VS @RequestBody

 

공통점

  • Spring에서 클라이언트로부터 데이터를 받는 방식

차이점

 

1. @RequestParam

  • 클라이언트가 URL 쿼리 스트링 또는 풀 데이터로 전달한 데이터를 컨트롤러 메서드의 파라미터로 받을 때 사용
  • 주로 GET 요청에서 많이 사용
  • 데이터를 URL 뒤에 붙여서 전달하는 경우
    • URL에서 데이터를 전달할 때: 검색 조건, 필터링 등의 간단한 데이터를 요청할 때
    • GET 요청
    • 보안에 덜 민감한 데이터
  • RequestParam 기본값 해제 & 기본값 설정
    • @RequestParam 값이 없을 경우 오류
    • 1) 필수값 설정 해제 : @RequestParam(required = false)
    • 2) 기본값 설정 : @RequestParam(required = false, defaultValue = "default")

2. @RequestBody

  • HTTP 요청의 본문(Body)에 담긴 JSON 또는 XML 같은 데이터를 객체로 변환하여 받을 때 사용
  • 주로 POST, PUT, DELETE와 같은 요청에서 데이터를 전송할 때 사용
    • POST/PUT 요청에서 데이터를 전달
    • 복잡한 데이터 구조: 주로 DTO(Data Transfer Object)를 사용해 데이터를 변환
    • 보안이 중요한 경우

 

'SpringBoot' 카테고리의 다른 글

[SpringBoot] API  (2) 2024.10.18
[SpringBoot] Status Codes  (0) 2024.10.18
[SpringBoot] JpaRepository  (0) 2024.10.17
[SpringBoot] ORM, JPA  (0) 2024.10.16
[SpringBoot] 테스트 코드  (0) 2024.10.16