본문 바로가기

Spring

@RequestParam 사용법과 생략

@ReqeustParam 사용법

public String test(@RequestParam(value="name") String name) {
	...
}

@RequestParam 사용법은 위와 같다.

파라미터로 받아올 키를 value로 지정해준다.

예를 들면

파라미터: ?name=kim

이렇게 요청이 오면 변수 name에는 kim이 들어간다.

여기에서 value를 생략할 수 있다.

 

public String test(@RequestParam(value="name") String name) { ... }
public String test(@RequestParam("name") String name) { ... }
public String test(@RequestParam String name) { ... }

위 3가지의 결과는 동일하다.

 

@RequestParam 생략

public String test(String name) { ... }

타입이 String, int 등 단순 타입이면 위처럼 @RequestParam 어노테이션을 생략할 수 있다.

다만 이렇게 하면 @RequestParam(required=false) 로 적용된다.

생략하지 않고 명시적으로 @RequestParam 어노테이션을 붙였을 때 required의 default 값은 true이다.

 

public String test(int age) { ... }

위처럼 @RequestParam 어노테이션을 생략하여 requiredfalse로 지정된 경우인데

파라미터로 age가 들어오지 않을 수 있다.

이 때 int에는 null 값을 넣지 못하기 때문에 int가 아닌 Integer로 받아줘야 한다.

public String test(Integer age) { ... }

참고

https://velog.io/@seulki412/Spring-Boot-%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-%EA%B0%92-%EB%B3%B4%EB%82%B4%EA%B8%B0-%EA%B0%92-%EB%B0%9B%EA%B8%B0-RequestParam-ResponseBody