6.1 링크와 리다이렉트란
페이지 이동을 구현해보기
- 링크 : 미리 정해 놓은 요청을 간편히 처리 - 보통 페이지 이동을 위해 사용
- HTML의 <a> 태그나 <form> 태그로 작성
- 리다이렉트(redirect) : 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 주소를 재지시하는 것
- 리다이렉트를 지시받은 클라이언트는 해당 주소로 다시 요청을 보내고 서버는 결과 응답
6.2 링크와 리다이렉트를 이용해 페이지 연결하기
6.2.1 새 글 작성 링크 만들기
<a href="URL_주소">링크를 걸 대상</a>
<a href="/articles/new">New Article</a>
링크 주소와 링크 걸 텍스트 이렇게 입력하면 된다.
6.2.2 리다이렉트 적용해 입력 페이지와 상세 페이지 이동하기
return "redirect:URL_주소";
@PostMapping("/articles/create")
여기의 리턴값이 공백인데, 이곳에 리다이렉트를 정의한다.
@PostMapping("/articles/create")
public String createArticle(ArticleForm form){
// DTO로 만든 클래스 이름이 AtricleForm이므로 ArticleForm 매개변수 타입의 form객체 매개변수로 선언
// form객체의 toString() 메서드 호출 - DTO에 잘 담겼는지 확인
log.info(form.toString());
// 1. DTO를 엔티티로 변환
Article article = form.toEntity();
log.info(article.toString());
// 2. 리포지토리로 엔티티를 DB에 저장
Article saved = articleRepository.save(article); // article엔티티를 저장해 saved 객체에 반환
log.info(saved.toString());
return "redirect:/articles/"+saved.getId();
}
getId()가 빨간색으로 표시되는데, 게터를 통해 외부에서 객체의 데이터를 읽어오려면 정의를 해야 한다.
➡️ @Getter 롬복으로 추가!
📌 셀프체크
'CS > 스프링부트3 자바 백엔드 개발 입문' 카테고리의 다른 글
[게시판 CRUD 만들기] 8장 | 게시글 삭제하기: Delete (0) | 2025.02.27 |
---|---|
[게시판 CRUD 만들기] 7장 | 게시글 수정하기: Update (0) | 2025.02.22 |
[게시판 CRUD 만들기] 5장 | 게시글 읽기: Read (0) | 2025.02.22 |
[게시판 CRUD 만들기] 4장 | 롬복과 리팩토링 (0) | 2025.02.21 |
[게시판 CRUD 만들기] 3장 | 게시판 만들고 새 글 작성하기: Create (0) | 2025.02.20 |