요청 파라미터 설정 방법
PathVariable
의미 : uri 경로에 포함된 값을 변수로 맵핑
사용처 : RESTful 스타일 API에서 특정 리소스를 식별할 때
@GetMapping("/users/{id}")
public String getUser(@PathVariable("id") Long id){
return "User id: " + id;
}
특징 :
- URL 경로의 일부(.../users/10)를 그대로 변수 id=10에 바인딩
- 주로 리소스 식별자(ID 등) 전달
RequestParam
의미: URL 쿼리 파라미터나 form-data의 key-value를 매핑
사용처: 검색 조건, 페이징 옵션 등 선택적 파라미터 전달할 때
@GetMapping("/users)
public String searchUser(@RequestParam String name,
@RequestParam(defaultValue="1") int page) {
return "Name: " + name + ", Page: " + page;
}
특징 :
- key=value 형태의 데이터와 매핑
- defaultValue 지정 가능
- 선택적으로 사용할 수 있으며, 주로 옵션성 데이터 전달
RequestBody
의미 : HTTP 요청의 Body(JSON, XML 등)를 객체로 역직렬화
사용처 : POST/PUT/PATCH 요청 시 대량의 구조화된 데이터(DTO, JSON 등) 전달할 때
@PostMapping("/users")
public String createUser(@RequestBody UserDto user){
return "Created user: " + user.getName();
}
특징 :
- 주로 application/json과 함께 사용
- Jackson 같은 메시지 컨버터가 JSON -> 객체 변환 수행
- 대규모 데이터 교환, 복잡한 구조 데이터를 처리할 때 적합
'#개발 > spring' 카테고리의 다른 글
| 프랙티스 가이드 (0) | 2025.10.08 |
|---|---|
| [환경설정] 웹 애플리케이션 프로젝트의 기본 의존성 (0) | 2025.10.03 |
| spring 개발 작업 (0) | 2025.09.29 |
| application.properties - spring.datasource (0) | 2025.09.23 |
| 스프링 프레임워크 들어가기 전에... (0) | 2020.03.21 |