@RequestParam

2024. 9. 15. 13:32정보처리,전산/springboot

반응형
 

@RequestParam은 스프링에서 요청 URL의 파라미터를 메서드의 파라미터로 바인딩할 때 사용하는 애너테이션으로 클라이언트가 보내는 쿼리 파라미터를 쉽게 처리할 수 있다. 각 파라미터는 메서드에 전달되며, 필수 여부 및 기본값 등을 설정할 수 있다.

@RequestParam의 주요 속성:

  1. name: 요청 파라미터의 이름을 지정한다.
  2. required: 파라미터가 필수인지 여부를 지정한다. 기본값은 true이다.
  3. defaultValue: 파라미터가 없을 때 사용할 기본값을 지정한다.
@RestController
public class MyController {

    @RequestMapping("/requestParamTest")
    public String requestParamTest(
        @RequestParam(name = "a", required = false, defaultValue = "0") int a,  // 파라미터 a가 없으면 기본값 0 사용
        @RequestParam("b") String b,                                             // 파라미터 b는 필수
        @RequestParam(name = "c", defaultValue = "true") boolean c) {            // 파라미터 c가 없으면 기본값 true 사용
        
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        
        return "hello";
    }
}

 

  1. 요청 URL: /requestParamTest?a=5&b=test&c=false
    • a = 5
    • b = test
    • c = false
  2. 요청 URL: /requestParamTest?b=hello
    • a = 0 (기본값)
    • b = hello
    • c = true (기본값)

 

코드 해석

  1. @RestController:
    • @RestController는 스프링에서 해당 클래스를 RESTful 웹 서비스의 컨트롤러로 지정한다.
    • 이 클래스 안에 정의된 메서드들은 HTTP 요청을 처리하며, 반환값은 뷰(view)를 거치지 않고 직접 응답으로 반환된다.
  2. @RequestMapping("/requestParamTest"):
    • 이 애너테이션은 requestParamTest 메서드가 /requestParamTest라는 URL로 오는 요청을 처리하도록 설정한다.
    • 기본적으로 GET, POST, PUT, DELETE 등 모든 HTTP 메소드를 처리할 수 있지만, 특정 메소드를 지정하려면 method 속성을 사용할 수 있다.
  3. @RequestParam:
    • @RequestParam은 HTTP 요청에서 전달된 파라미터 값을 메서드의 인수로 바인딩할 때 사용한다.
  4. 클라이언트가 /requestParamTest 경로로 요청을 보낼 때, URL에 포함된 쿼리 파라미터(a, b, c)가 메서드의 인자로 전달된다.
  5. @RequestParam 애너테이션을 통해 각 파라미터를 쉽게 매핑할 수 있으며, 파라미터가 없을 경우 기본값을 사용하거나, 필수 파라미터가 없을 경우 예외를 발생시킨다.
 
 

 

 

반응형

'정보처리,전산 > springboot' 카테고리의 다른 글

@RequestMapping  (0) 2024.09.15
Gradle 의존성 추가 키워드  (0) 2024.06.27
Annotations  (0) 2024.06.21
jetbrains IntelliJ HotKey  (0) 2024.06.21
GRADLE , MAVEN  (0) 2024.06.21