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;
}