개발천재

[Spring Boot] @RequestParam 사용법 본문

개발 준비/Spring Boot

[Spring Boot] @RequestParam 사용법

세리블리 2025. 2. 12. 22:02
반응형

@RequestParam이란?

Spring MVC에서 @RequestParam은 클라이언트(브라우저)에서 전송한 쿼리 파라미터(Query Parameter)나 폼 데이터를 컨트롤러의 메서드 매개변수로 바인딩할 때 사용하는 어노테이션이다.

@RequestParam(name = "name", required = false) String name)

 

 

@RequestParam 사용법

클라이언트가 "?name=홍길동" 같은 형태로 데이터를 보낼 때 @RequestParam을 이용해 이를 컨트롤러에서 받을 수 있다.

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @GetMapping("/hello")
    public String hello(@RequestParam String name) {
        return "안녕하세요, " + name + "님!";
    }
}

 

 

 

@RequestParam의 주요 속성

@RequestParam에는 여러 가지 속성이 있다.

 

defaultValue, 기본값 설정

사용자가 해당 파라미터를 보내지 않았을 때 기본값을 설정할 수 있다. required = false와 함께 사용하면 편리하다.

@GetMapping("/hello")
public String hello(@RequestParam(defaultValue = "Guest") String name) {
    return "Hello, " + name;
}

// 요청 : GET /hello
// 응답결과 : hello, Guest

 

 

required, 필수 여부 설정

파라미터가 반드시 포함되어야 하는지 설정할 수 있다. 기본값을 지정해놓고 요청에서 파라미터가 없으면 400 에러가 발생한다. required = false 로 설정하면 파라미터가 없어도 null로 실행된다.

@GetMapping("/hello")
public String hello(@RequestParam(required = false) String name) {
    return "Hello, " + (name != null ? name : "Guest");
}

// required = true(기본값) → 파라미터가 없으면 400 에러 발생
// required = false → 파라미터가 없어도 실행됨 (null이 들어감)

 

 

Value 속성 또는 name

요청에서 받을 파라미터의 이름을 지정할 수 있다.

@GetMapping("/info")
    public String getUserInfo(@RequestParam(value = "user_name") String name) {
        return "User Name: " + name;
    }

 

List 또는 배열, 여러 개의 값 받기

@GetMapping("/numbers")
public String getNumbers(@RequestParam List<Integer> numbers) {
    return "Numbers: " + numbers;
}

// GET /numbers?numbers=1&numbers=2&numbers=3
// 응답 : Numbers: [1, 2, 3]



반응형