Spring Framework 에서 사용되는 어노테이션으로, HTTP 요청의 쿼리 파라미터나 폼 데이터 값을 메소드 파라미터에 매핑할 때 사용됨. 주로 GET 요청에서 URL 쿼리 파라미터를 처리할 때 많이 사용되지만, POST 요청에서도 사용할 수 있음.
예를 들어, 다음과 같은 URL 요청이 있을 때,
GET /greeting?name=John
이 요청에서 name 이라는 쿼리 파라미터를 컨트롤러 메소드에서 받아 처리하려면, @RequestParam 을 사용할 수 있음
@RestController
public class GreetingController {
@GetMapping("/greeting")
public String greeting(@RequestParam(name = "name", required = false, defaultValue = "World") String name) {
return "Hello, " + name;
}
}
@RequestParam 어노테이션을 사용하여 name 이라는 쿼리 파라미터 값을 greeting 메소드의 name 변수에 매핑함. name 파라미터가 제공되지 않은 경우 기본값으로 "World" 가 사용됨.
@RequestParam("name") 또는 @RequestParam(name = "name") 으로 사용할 수 있음true 이며, 필수 파라미터가 없으면 400 Bad Request 오류가 발생함required = false 로 설정하면 해당 파라미터가 없어도 에러가 발생하지 않음required 속성은 자동으로 false 로 설정됨필수 파라미터
@GetMapping("/greet")
public String greet(@RequestParam(name = "name") String name) {
return "Hello, " + name;
}
이 경우 name 파라미터가 없으면 400 Bad Request 오류가 발생
선택적 파라미터
@GetMapping("/greet")
public String greet(@RequestParam(name = "name", required = false) String name) {
if (name == null) {
name = "Guest";
}
return "Hello, " + name;
}
기본값이 있는 파라미터
@GetMapping("/greet")
public String greet(@RequestParam(name = "name", defaultValue = "Guest") String name) {
return "Hello, " + name;
}