@RequestParam

Yuno·2024년 8월 18일
0

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" 가 사용됨.


👉 주요 속성

  1. name (또는 Value)
  • 쿼리 파라미터의 이름을 지정. URL에서 이 이름의 파라미터를 찾아 메소드 파라미터에 할당함
  • @RequestParam("name") 또는 @RequestParam(name = "name") 으로 사용할 수 있음
  1. required
  • 이 파라미터가 필수인지 여부를 지정함. 기본값은 true 이며, 필수 파라미터가 없으면 400 Bad Request 오류가 발생함
  • required = false 로 설정하면 해당 파라미터가 없어도 에러가 발생하지 않음
  1. defaultValue
  • 파라미터가 제공되지 않았을 때 사용할 기본값을 지정함. 이 속성을 지정하면 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;
}
profile
Hello World

0개의 댓글