요청의 쿼리 파라미터 값을 메서드 파라미터로 바인딩해주는 어노테이션
즉, URL에 이런 식으로 붙어 있는 값을 가져오는 것이다.
GET /search?keyword=java&page=2
➡️ key=value
@GetMapping("/search")
public String search(
@RequestParam String keyword,
@RequestParam(defaultValue = "1") int page
) {
return "검색어: " + keyword + ", 페이지: " + page;
}
이제 클라이언트가:
GET /search?keyword=spring&page=3
요청을 보내면 👉 콘솔 출력:
검색어: spring, 페이지: 3
| 기능 | 코드 예시 | 설명 |
|---|---|---|
| 기본 사용 | @RequestParam String name | /hello?name=kim |
| 기본값 설정 | @RequestParam(defaultValue = "1") int page | 파라미터 없을 경우 기본값 사용 |
| 필수 여부 | @RequestParam(required = false) | 없어도 되는 파라미터 |
| 다른 이름 | @RequestParam("q") String keyword | /search?q=java 형태에 대응 |
@PathVariable과 뭐가 다르냐?| 구분 | @RequestParam | @PathVariable |
|---|---|---|
| 값 위치 | ?key=value | /users/{id} |
| 예시 | /search?keyword=spring | /users/1 |
| 사용 예 | 필터, 정렬, 검색 | 리소스 조회, 수정 등 |
@RequestParam=
URL의?파라미터=값쿼리스트링을 받아오는 친구!
마약같은 1일1이론 다시 시작됐다 만쉐~