[Spring] URI Template

NoowaH·2021년 10월 6일
0
post-thumbnail

URI Template


주소값의 일부를 데이터화
Query String 의 데이터 처리 기법

  1. @PathVariable
  2. @PathParam



1. @PathVariable


✅ 주소의 가변표현법

👀 예 : http://ip:port/project/고정표/{가변표현법}

<a href="urlTest/playdata">
<a href="urlTest/encore">
	@RequestMapping("urlTest/{id}")
	public String urlTest1(@PathVariable String id) {
		return "forward:/step02url.jsp";
	}

🔵 @RequestMapping("urlTest/{id}")

  • urlTest/ 이후 모든 경로에 대한 처리 가능
  • 주소값을 데이터화 하여 controller 객체에서 활용 가능
<a href="urlTest/playdata1/encore/10">
<a href="urlTest/playdata2/encore/20">
	@RequestMapping("urlTest/{id}/encore/{}")
	public String urlTest1(@PathVariable int id) {
		return "forward:/step02url.jsp";
	}

<a href="urlTest2/data1/encore/30">
	@RequestMapping("urlTest2/{id}/encore/{age}")
	public String urlTest2(@PathVariable String id, @PathVariable int age) {
		System.out.println("urlTest() -- " + id + " " + age);
		return "forward:/step02url.jsp";
	}

🔵 @PathVariable

  • 경로에서 하나 이상 반환이 가능

  • 반환 타입은 숫자로 반환이 가능하다면 형변환 없이 반환 가능




2. @PathParam

✅ Query String의 데이터 반환

<a href="sessiontracking/pathParam?id=khk&age=20"> PathParam </a>
	    @RequestMapping("pathParam")
	    public String m6(Model model, 
                         @PathParam("id") String id, 
                         @PathParam("age") int age) {
            
	    	System.out.println("m6() --- " + id + " " + age);
	    	
	    	return "redirect:/step03Session.jsp";
	    }

🔵 @PathParam("id")String id, @PathParam("age") int age)

  • pathParam?id=khk&age=20" 의 데이터를 반환
  • @PathVariable와 동일하게 반환 타입은 숫자로 반환이 가능하다면 형변환 없이 반환 가능
profile
조하운

0개의 댓글