[Spring] 리다이렉트란?

이신영·2023년 3월 7일
1

Spring

목록 보기
2/16
post-thumbnail

리다이렉트란?

웹에서 URL로 웹 서버를 요청하면 다른 URL로 넘겨주는것 만약에 게임 시작을 눌렀는데 로그인이 안되어있을땐 로그인화면으로 이동시켜주는 것을 리다이렉트라고한다.

예를들어 다음과 같은 view를 가진 게시판이 있다.


<a th:href="@{/board/delete(id=${board.id})}">글 삭제</a>

이 태그가 포함된 글삭제 글씨를 누른다면

    @GetMapping("/board/delete")
    public String boardDelete(Integer id){
        boardService.boardDelete(id);

        return "redirect:/board/list";
    }

/board/delete 으로 이동하게 되어 boardDelete 메소드를 처리한다.
그때 리턴값은 return "redirect:/board/list" 이다. 때문에 /board/list를 리다이렉트해준다. 그렇다면 결과는

/board/list 으로 이동되었다.

근데 여기서 은근 헷갈리는게 return "view이름"과 return "redirect:url" 일 수 있다.
이 둘의 차이를 비교해보자면

return "view이름"

: 단순하게 해당하는 view를 보여준다

return "redirect:url"

: url주소로 request를 다시한다. 위의 예시로 설명하자면

    @GetMapping("/board/list")
    public String boardList(Model model){
        model.addAttribute("list", boardService.boardList());
        return "boardlist";
    }

저기서 글 삭제 버튼을 누른다면 이 /board/list 주소로 리다이렉트되어 boardList 메소드를 실행하여 boardList라는 View를 보여준다는 말이다.

profile
후회하지 않는 사람이 되자 🔥

0개의 댓글