카테고리 없음

[Spring] MVC _ @RequestMapping _ PathVariable

Younngjun 2023. 7. 22. 17:02
PathVariable - 단일

 

@RequestMapping 은 URL 경로를 템플릿화 할 수 있는데@PathVariable 을 사용하면 매칭 되는 부분을 편리하게 조회할 수 있다.

package hello.springmvc.basic.requestmapping;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;

@RestController
public class MappingController {

    private Logger log = LoggerFactory.getLogger(getClass());

    /**
    * PathVariable 사용
    * 변수명이 같으면 생략 가능
    * @PathVariable("userId") String userId -> @PathVariable userId
    * /mapping/userA
    */
    @GetMapping("/mapping/{userid}")
    public String mappingPath(@PathVariable("userid") String data) {
        log.info("mappigPath userid={}", data);
        return "ok";
    }
}

 

@PathVariable 의 이름과 파라미터 이름이 같으면 생략할 수 있다.

@RestController
public class MappingController {

    private Logger log = LoggerFactory.getLogger(getClass());
    
    @GetMapping("/mapping/{userid}")
    public String mappingPath(@PathVariable String userid) {
        log.info("mappigPath userid={}", data);
        return "ok";
    }
}

 

PathVariable - 다중

 

/**
* PathVariable 사용 다중
*/
  @GetMapping("/mapping/users/{userId}/orders/{orderId}")
  public String mappingPath(@PathVariable String userId, @PathVariable Long
  orderId) {
      log.info("mappingPath userId={}, orderId={}", userId, orderId);
      return "ok";
  }