[ Spring ] @RequestParam Annotation

2024. 2. 17. 13:10· BACK-END/└ Spring Boot

환경 : Spring Tool Suite4

 

 

[ @RequestParam  ]

@RequestParam은 스프링 프레임워크에서 컨트롤러의 메서드 매개변수에서 사용되는 어노테이션 중 하나로, 클라이언트의 HTTP 요청 파라미터를 메서드의 매개변수로 바인딩하는데 사용됩니다.


[ 사용 예 ]

 

    - GreetingController.java

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class GreetingController {

    @GetMapping("/greet")
    @ResponseBody
    public String greet(
            @RequestParam(name = "name", required = false, defaultValue = "Guest") String name,
            @RequestParam(name = "age", required = false, defaultValue = "0") int age) {

        return "Hello, " + name + "! You are " + age + " years old.";
    }
}

    (+) name과 age 변수 값을 받는 greet() 메소드를 담은 컨트롤러

 

  - URL

localhost:8080/greet?name=John&age=25

 

 

  - @RequestParam 코드 부분 자세히 이해하기

//위 전체 코드 속 코드
@RequestParam(name = "name", required = false, defaultValue = "Guest") String name,
@RequestParam(name = "age", required = false, defaultValue = "0") int age

// 같은 역할을 하는 코드
@RequestParam(required = false, defaultValue = "Guest") String name,
@RequestParam(required = false, defaultValue = "0") int age

   (+) name과 age 변수에 HTTP 파라미터 값을 받아오기 위해 @RequestParam 을 사용

   (+) required : 파라미터가 반드시 필요한지 여부. 

                         기본값은 true. 필수 파라미터가 누락되면 예외 발생.

                          false로 설정 시 파라미터 값이 누락된 경우에도 예외 발생을 하지 않음.

                          (defaultValue를 설정하였다면 그 값이 출력됨) 

   (+) defaultValue : 파라미터의 기본값을 설정. 파라미터가 요청에 포함되지 않은 경우 기본 값이 사용됨.

 

 

 

 

 

 

 

개인 공부 기록용입니다:)

728x90