Engineering Note

[Spring] @PathVariable, @RequestParam 본문

Server/Spring

[Spring] @PathVariable, @RequestParam

Software Engineer Kim 2025. 8. 24. 16:16

@PathVariable

- get 요청을 보낼때, URL 자체에 값을 담아 요청하게 해주는 어노테이션

 

사용 방법

 

첫 번째 라인 주석에 있는 요청 예시 URL을 보면 중괄효({})로 표시된 위치에 값을 받아 요청을 하면(실제 요청 시에는 중괄호는 들어가지 않는다.) 그러면 @GetMapping 어노테이션에서 어느위치에서 값을 받을 지정할 수 있고, 지금 예시는 아래처럼 가장 마지막에 값을 받도록 지정했다. 그리고 메서드에서 매개변수와 그 값을 연결하기 위해 3번 줄과 같이 @PathVariable을 명시하며, @GetMappping 어노테이션과 @PathVariable에 지정된 변수의 이름을 동일 하게 맞춰서 메서드로 값을 전달할 수 있다.

// http://localhost:8080/api/v1/get-api/variable1/{String 값}
@GetMapping(value = "/variable1/{variable}")
public String getVariable1(@PathVariable String variable){
    return variable;
}

 

 

@RequestParam

- GET 요청을 구현할 때 PathVariable 방식 말고 쿼리 형식으로 값을 전달하는 방법. URI에서 '?'를 기준으로 key=value 형태로 구성된 요청을 전송하는 방법이다.

- 쿼리 스트링에는 키가 모두 적혀있기 때문에 이 값을 기준으로 메서드의 매개변수에 이름을 매핑하여 값을 가져올 수 있다.

// http://localhost:8080/api/v1/get-api/request1?name=value1&email=value2&organization=value3
@GetMapping(value = "request1")
public String getRequestParam(@RequestParam String name,
                              @RequestParam String email,
                              @RequestParam String organization){
    return name + " " + email + " " + organization;
}

 

 

 

 

참고자료 : 스프링 부트 3 핵심 가이드(장정우)

Comments