Spring - 경로 변수

경로변수

path variable 이며, 요청 경로를 동적으로 표현이 가능한 경로 패턴으로 지정할 수 있습니다.

URL 경로 상의 변하는 값을 경로 변수로 취급하여 경로 변수에 해당하는 값을 파라미터 변수에 설정할 수 있습니다.

 

간단하게 사용법을 말하자면 URL 경로에 중괄호 { } 안쪽에 변수를 담고, 그 변수를 @PathVariable(" ") 로 받아서 사용할 수 있습니다.

기본 사용법

요청 : http://localhost:8080/member/detail/123

 

JSP

<a href = "/member/detail/${memberVO.memberid}">...

 

Controller

@RequestMapping("/detail/{memberid}")
  public String detail(@PathVariable String memberid) {
    //...
  }

변수명을 다르게 설정

PathVariable 과 다른 변수명을 사용하려면 @PathVariable("memberid") 로 URL 의 Path-Variable 와 이름을 맞춰주고,

메서드에서 사용할 변수명을 다르게 설정할 수 있습니다. 

@RequestMapping("/detail/{memberid}")
  public String detail(@PathVariable("memberid") String id) {
    //...
  }

다중 사용

만약 여러개의 PathVariable 을 사용하고 싶다면 @PathVariable 을 여러번 사용해 주시면 됩니다.

@RequestMapping("/detail/{memberid}/{memberName}")
  public String detail(@PathVariable String memberid, @PathVariable String memberName) {
    //...
  }

필수속성

Spring 4.3.3 에서부터 @PathVariable 어노테이션은 경로 변수가 핸들러 메소드에 필수인지 여부를 표시하는 데 필요한 속성을 정의할 수 있습니다.

 

즉 쉽게 말하자면 경로변수에 값이 없더라도 오류를 보내지 않고 특정 조건에 따라 다른 동작을 할 수 있게 도와줍니다.

@RequestMapping("/detail", "/detail/{memberid}")
  public String detail(@PathVariable(required = false) String memberid) {
    if(memberid != null) {
      //...
    } else {
      //...
    }
  }

 

'Spring' 카테고리의 다른 글

Spring 웹 애플리케이션 계층구조  (0) 2024.12.23
Spring - @Value  (2) 2024.12.20
Spring Bean 을 등록하는 3가지 방법  (1) 2024.12.19
스프링 빈(Bean) 이란?  (1) 2024.12.16
[Spring MVC] - QueryString  (0) 2024.12.12