본문 바로가기
자바의 봄(Spring)/프로젝트

SpringBoot-Movie-Thymeleaf-Project - 4

by 종안이 2024. 3. 20.

1. 타임리프에서 회원가입 요청 날리기 

 

 

위와 같은 코드로 User를 날렸을때 회원가입이 진행된 후 index.html로 이동하도록 했다. 

넣어서 날렸는데 객체에 안담겨져 있다. 아래 유저 객체를 보면 전부 다 Null 값으로 나온다.

 

개발자 도구를 보면 302 에러가 발생한다. 

302 에러는 찾아보니 아래와 같이 나온다.

 

- 302 리다이렉트는 웹 페이지의 URL이 일시적으로 다른 위치로 이동되었음을 나타내는 HTTP 상태 코드입니다.   - 

 

 

 

어쨌든 화면도 안넘어가고 하니 Thymeleaf에서 Redirect 하는 것과 관련해서 조금 더 찾아보았다.

혹시 return 하는 방식이 Thymeleaf 3.1로 넘어오면서 바뀐 것은 아닌가 싶었는데 아래와 같이 나왔다. 

 

Return 값이 ModelAndView로 주고 redirect에 URL을 넣어주는 방식이었는데, 

나는 index.html을 그냥 넘겨주고 있었다 .

 

그래서 redirect에 index.html 대신에 홈으로 돌아가라는 URL 주소를 넣어주었더니

정상적으로 돌아가는 것을 볼 수 있었다.

 

잘못된 예시이다 .이렇게 적으면 안됨
올바른 예시이다.

올바른 예시이다. 이렇게 적어주면 POST 요청을 날리고 해당 주소로 돌아간다. 

 

 

오른쪽을 보면 여전히 302가 뜨지만 처음 홈 화면으로 정상적으로 이동한 것을 알 수 있다. 

 

다음에는 form에 User가 안담기는 문제가 계속 발생하고 있는데 올라갈 수 있도록 수정 후 다시 쓰도록 하겠다.

 

 

=======================================

User 객체에 데이터가 담기지 않는 문제가 계속 발생하고 있었는데 , 

알고보니 User 객체의 Setter 메소드를 작성하지 않아서 이런 문제가 발생하고 있었다. 

 

 

위와 같이 작성해서 날리면 아래와 같이 개발자 도구로 확인 해봤을때 객체가 담겨져서 날아가는 것을 알 수 있다.

댓글