프로그래밍/Spring & Spring boot

[Spring/스프링] @PathVariable

pupu91 2022. 9. 6. 16:52
반응형

 

 

 @PathVariable을 이용하여 { 매개변수 } 사용하기

-  URL경로에 위치한 값을 Value로 인식하는 방식으로 REST형 웹 서비스를 설계할 때 유용.

- parsing 불가능한 PathVariable이 전달되면 400번 에러가 발생

- PathVariable로 전달 되는 값은 반드시 매개변수 이름이 동일해야 함

- 동일하지 않을 경우  @PathVariable("이름")을 설정해 주어야 함

 

 

main. jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<button onclick="location.href='${pageContext.servletContext.contextPath}/order/detail/3'">GET 주문 상세보기 요청</button>

</body>
</html>

 

 

 

mapping 결과보여질 페이지.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	
	<h1 align="center"> ${ requestScope.message }</h1>
	
</body>
</html>
반응형

 

 

Cotroller에 @PathVariable을 이용하여 핸들러 메소드 작성

@Controller
@RequestMapping("/order/*")
public class ClassMappingTestController {

	@GetMapping("/detail/{orderNo}")
	public String selectOrderDetail(@PathVariable int orderNo, Model model) {
		
		model.addAttribute("message", orderNo + "번 주문 상세 내용 조회용 핸들러 메소드 호출함");
		
		return "mappingResult";
	}

 

 

 

 

화면 결과

 

 

 

=> 번호를 변경하면 바로 적용됨을 알 수 있음

반응형