PLOD

[Spring] @Request Param , @PathVariable과 Mapping 정리 본문

개발 공부/Spring framework

[Spring] @Request Param , @PathVariable과 Mapping 정리

훌룽이 2024. 8. 17. 19:04

@PathVariable

  • 경로 변수를 표시하기 위해 메서드에 매개변수에 사용된다
  • 경로 변수는 중괄호 {id}로 둘러싸인 값을 나타낸다
  • URL 경로에서 변수 값을 추출하여 매개변수에 할당한다
  • 경로변수는 값을 반드시 가져야 한다 → 값이 없으면 404에러 출력
  • 주로 상세 페이지, 수정, 삭제와 같은 작업에서 리소스 식별자로 사용된다
  • 서버에 보내려는 데이터를 URL 경로에 표시할 수 있다. 
// GET http://localhost:8080/hello/request/star/Robbie/age/95

@Controller
@RequestMapping("/hello/request")
public class RequestController {
    @GetMapping("/star/{name}/age/{age}")
    @ResponseBody
    public String helloRequestPath(@PathVariable String name, @PathVariable int age)
    {
        return String.format("Hello, @PathVariable.<br> name = %s, age = %d", name, age);
    }
}
  • 데이터를 받기 위해서는 /star/{name}/age/{age} 이처럼 URL 경로에서 데이터를 받고자 하는 위치의 경로에 {data} 중괄호를 사용
  • (@PathVariable String name, @PathVariable int age)
  • 해당 요청 메서드 파라미터에 @PathVariable 애너테이션과 함께 {name} 중괄호에 선언한 변수명과 변수타입을 선언하면 해당 경로의 데이터를 받아올 수 있습니다.

@Request Param

  • URL 쿼리 파라미터로 데이터를 전달해야 할 때 사용
  • 동적인 URL 경로를 처리하고 싶을 때 사용된다
  • 경로의 특정 부분을 변수로 사용하여 데이터를 추출하고자 할 때 사용된다.
  • GetMapping을 하게 되면  URL에 보낼 정보들이 보이게 되고 PostMapping을 하면 보낼 정보들이 보이지 않게 전달할 수 있다
  • 주로 로그인, 회원가입과 같은 작업에서 리소스 식별자로 사용된다.
@Controller
@RequestMapping("/hello/request")
public class RequestController {

	// [Request sample]
    // GET http://localhost:8080/hello/request/form/param?name=Robbie&age=95
    @GetMapping("/form/param")
    @ResponseBody
    public String helloGetRequestParam(@RequestParam String name, @RequestParam int age) {
        return String.format("Hello, @RequestParam.<br> name = %s, age = %d", name, age);
    }

}
Comments