🔍 @RequestParam 이란?
- @RequestParam은 Spring MVC에서 사용되는 어노테이션으로, HTTP 요청에서 파라미터 값을 가져오는 데 사용된다.
- 주로 URL 쿼리 파라미터(parameter)를 읽어오는 데에 사용된다.
- 클라이언트가 입력한 데이터들이 URL을 통해서 전달된다.
- @RequestParam()에 4가지의 파라미터를 가지고 있다.
❓ 파라미터 종류
1. defaultValue
- 값이 설정되지 않을 때 기본으로 설정할 값
2. name
- URL에서 바인딩할 요청 파라미터의 이름
3. value
- name의 별칭
4. required
- 필수 값인지 설정하는 값
💡 URL 예시
GET /api/books? category=thriller&author=John+Doe
💻 코드 예시
@GetMapping("/api/books")
public ResponseEntity<List<Book>> getBooksByCategoryAndAuthor(
@RequestParam("category") String category,
@RequestParam("author") String author) {
...
}
🔍 @PathVariable 이란?
- @PathVariable은 Spring MVC에서 사용되는 애노테이션으로, URL 경로의 일부를 변수로 매핑하는 데 사용됩니다.
- 어떤 요청이 든 간에 하나밖에 사용하지 못한다.
- 주로 RESTful API에서 동적인 URL을 처리하기 위해 사용됩니다.
💡 URL 예시
POST /api/users/{id}/posts
💻 코드 예시
@PostMapping("/api/users/{id}/posts")
public ResponseEntity<String> createPost(@PathVariable Long id, @RequestBody PostRequest request) {
// id를 사용하여 해당 사용자의 정보를 조회하고 포스트 생성 로직을 수행한다.
// request 객체에는 포스트 생성에 필요한 데이터가 담겨있다.
...
}
📝 사용 용도
@RequestParam
- URL 쿼리 파라미터로 데이터를 전달해야 할 때 사용됩니다.
- 요청 URL에 파라미터를 명시적으로 표시하고자 할 때 사용됩니다.
- 선택적인 파라미터 값을 처리하거나 기본값을 지정해야 할 때 사용됩니다.
@PathVariable
- URL 경로에 데이터를 포함시켜야 할 때 사용됩니다.
- 동적인 URL 경로를 처리하고 싶을 때 사용됩니다.
- 경로의 특정 부분을 변수로 사용하여 데이터를 추출하고자 할 때 사용됩니다.
'Spring Boot' 카테고리의 다른 글
[Spring Boot] 스프링의 핵심 가이드 (개발에 앞서 알면 좋은 기초 지식) (0) | 2023.07.24 |
---|---|
[Spring Boot] 스프링 부트 알아보기 (0) | 2023.07.24 |
[SpringBoot] TDD(TestCode) & JUnit 알아보기 (0) | 2023.05.25 |
[Spring Boot] Controller & RestController 알아보기 (0) | 2023.05.21 |
[Spring Boot] @PathVariable 이란 ? (0) | 2023.05.21 |