1. RequestBody
클라이언트가 전송한 HTTP 요청의 본문(Body)을 Java 객체로 변환합니다. 일반적으로 JSON 또는 XML 데이터를 수신하는 데 사용한다.
@PostMapping("/api/users")
public ResponseEntity<User> createUser(@RequestBody User user) {
// user 객체를 사용하여 처리
return ResponseEntity.ok(user);
}
클라이언트가 전송한 JSON 데이터를 User 객체로 변환하여 메서드 매개변수로 전달한다. 이 방식은 POST, PUT, PATCH 요청에서 자주 사용한다.
= 사용자가 입력한 값(데이터)
2. RequestParam
URL 쿼리 매개변수를 메서드 매개변수로 바인딩한다. 주로 GET요청에서 사용되며, 쿼리 스트링에서 전달된 값을 수신하는 데 사용된다.
@GetMapping("/api/users")
public ResponseEntity<List<User>> getUsers(@RequestParam String role) {
// role 매개변수를 사용하여 처리
return ResponseEntity.ok(userService.findByRole(role));
}
role은 쿼리 매개변수로 전달된 값을 받는다. 예를 들어, /api/users?role=admin과 같은 요청이 있을 수 있습다. 기본값을 설정하거나 필수 여부를 지정할 수도 있다.
3. PathVariable
URL 경로에서 변수를 추출하여 메서드 매개변수로 바인딩한다. RESTful API에서 리소스 식별자(예: ID)를 전달할 때 주로 사용된다.
@GetMapping("/api/users/{id}")
public ResponseEntity<User> getUser(@PathVariable Long id) {
// id를 사용하여 처리
return ResponseEntity.ok(userService.findById(id));
}
{id} 부분이 URL 경로에서 사용자 ID로 대체되어 메서드 매개변수인 id로 전달된다. 예를 들어, /api/users/1과 같은 요청이 있을 수 있다.
4. 정리
- @RequestBody : JSON 처리
- @RequestParam : query 처리
- @PathVariable : URI 변수 처리
'Java > Spring Boot' 카테고리의 다른 글
[Spring Boot] Boolean 타입이 계속 호출이 안될 때(@Getter) (0) | 2025.02.27 |
---|---|
[Spring Boot] BaseEntity 만들기 (0) | 2024.10.22 |
[Spring Boot] 페이징(Paging) (0) | 2024.10.19 |
[Spring Boot] Test Code 작성 + 롬복(LomBok) (1) | 2024.09.12 |
[Day 19] 웹 페이지에서 댓글 삭제하기 (0) | 2024.08.15 |