@PathVariable을 사용하는 경우
URL 경로에 포함된 리소스 식별자를 받을 때 사용.
REST API에서는 "어떤 리소스에 접근할 것인지"를 URL로 표현하기 때문.
예시:
GET /users/42
@GetMapping("/users/{id}")
public ResponseEntity<?> getUser(@PathVariable Long id)
→ id는 리소스를 식별하는 값이므로 @PathVariable로 받기.
@RequestBody를 사용하는 경우
JSON이나 Form 데이터 같은 복잡한 입력 데이터를 처리할 때 사용.
주로 POST, PUT, PATCH처럼 서버에 데이터를 전송하거나 수정할 때 사용.
예시:
POST /users
Content-Type: application/json
{
"name": "홍길동",
"email": "user@example.com"
}
@PostMapping("/users")
public ResponseEntity<?> createUser(@RequestBody UserDto userDto)
→ 복잡한 객체를 한번에 받고 싶을 때 @RequestBody로 JSON을 파싱해서 자동으로 바인딩.
요약
목적 예시 URL 사용
리소스 식별 (단일 값) | /posts/10 | @PathVariable |
리소스 생성/수정 (다양한 값) | /posts + JSON | @RequestBody |
검색/필터링 옵션 | /posts?category=java | @RequestParam |
'웹 개발' 카테고리의 다른 글
서버 + 프론트 장애 추적 가이드 (0) | 2025.04.26 |
---|---|
JWT 저장 & 통신 방식 (0) | 2025.04.24 |
REST와 REST 컨벤션 개념 정리 (0) | 2025.04.24 |
id vs 인증 사용자 정보 차이 (0) | 2025.04.24 |
엔드포인트 설계(프론트, 백 HTTP통신시 중요) (0) | 2025.04.23 |