Study/spring

[Java] Spring Controller @RequestParam 사용법 및 예제

 

스프링 컨트롤러에서 @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;
    }
}

RequestParam으로 값 받기
RequestParam으로 값 받기

/test라는 경로로 name 값을 받아서 그대로 반환하는 API 입니다.

 

@RequestParam을 여러개 사용할 수도 있습니다.

@GetMapping("/test")
public String getTest(@RequestParam String name,
                      @RequestParam String address1,
                      @RequestParam String address2) {
    return name + ' ' + address1 + ' ' + address2;
}

RequestParam 여러개 사용 결과
RequestParam 여러개 사용 결과

 

옵션 설정

필수값 설정 해제

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

RequestParam 값이 없을 때 기본값 반환
RequestParam 값이 없을 때 기본값 반환