스프링 컨트롤러에서 @RequestParam을 사용해서 값을 하나 혹은 여러개 받는 방법을 예제를 통해 설명드리겠습니다.
@RequestParam 사용법
RequestParam 어노테이션은 HTTP의 쿼리 스트링이나 폼 데이터를 메소드의 파라미터로 바인딩할 때 사용됩니다.
기본적인 사용법은 다음과 같습니다.
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping("/test")
public String getTest(@RequestParam String name) {
return name;
}
}
/test라는 경로로 name 값을 받아서 그대로 반환하는 API 입니다.
@RequestParam을 여러개 사용할 수도 있습니다.
@GetMapping("/test")
public String getTest(@RequestParam String name,
@RequestParam String address1,
@RequestParam String address2) {
return name + ' ' + address1 + ' ' + address2;
}
옵션 설정
필수값 설정 해제
@RequestParam으로 받는 값은 필수값이 기본 설정이기때문에 값 없이 요청하면 오류가 발생합니다.
필수값 설정을 해제하고 싶으면 다음과 같이 사용하면 됩니다.
@GetMapping("/test")
public String getTest(@RequestParam(required = false) String name) {
return name;
}
기본값 설정
값이 없을 때 사용할 기본값을 설정할 수 있습니다.
@GetMapping("/test")
public String getTest(@RequestParam(required = false, defaultValue = "default") String name) {
return name;
}
읽으면 좋은 글
[Java] Spring @RequestParam 배열, 리스트 값 받기