📌 1. Redirect

📍 1-1. redirect 방법

  • 스프링은 redirect:/...으로 편리하게 리다이렉트를 지원한다.
    • 컨트롤러에 매핑된 @PathVariable의 값은 redirect에도 사용할 수 있다.
      	@PostMapping("{itemId}/edit")
      	public String item(@PathVariable long itemId, @ModelAttribute Item item) {
      		itemRepository.update(itemId, item);
      		return "redirect:/basic/items/{itemId}";
      	}
      • redirect:/basic/items/{itemId}
        @PathVariable Long itemId의 값 그대로 사용

📍 1-2. RedirectAttributes

  • RedirectAttributes를 사용하면 pathVariable 쿼리 파라미터까지도 처리해 준다.

    	@PostMapping("add")
    	public String save(Item item, RedirectAttributes redirectAttributes) {
    		Item savedItem = itemRepository.save(item);
    		redirectAttributes.addAttribute("itemId", savedItem.getId());
    		redirectAttributes.addAttribute("status", true);
    		return "redirect:/basic/items/{itemId}";
    	} 
    • pathVariable 바인딩 : {itemId}
      나머지는 쿼리 파라미터로 처리 : ?status = true
      • 예 : http://localhost:9090/basic/items/3?status=true

0개의 댓글