강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

dduckmane님의 프로필 이미지
dduckmane

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

서블릿 필터 - 인증 체크

sendredirect와 postmapping

작성

·

388

0

미인증 사용자 요청시에 sendRedirect로 requestURI를 넘겨주면

여기서 postmapping으로 받아서 redirect처리를 해주는 것으로 강의에서 배웠습니다.

여기서 궁금한 점은 왜 getmapping controller가 실행이 되는 게 아니라 postmapping controller가 실행이 되는 건가요??

지금까지는

 

"redirect:/items/{itemId}";
이런식으로 redirect를 해서

getmapping controller가 처리를 해주지 않았나요??

 

쿼리파라미터로 오는 것(url로 데이터가 넘어오는 것)은 getmapping controller가 처리해주어야하는 것 아닌가요??

답변 1

3

안녕하세요. dduckmane님, 공식 서포터즈 David입니다.

로그인 HTTP API는 아래와 같습니다.

GET /login -> login 화면

POST /login -> login 처리

 

login 처리 후 특정 url(redirectUrl의 값)로 이동되어야 합니다.

따라서, login을 처리하는 POST /login 요청 안에서 해당 동작을 수행하게 됩니다.

 

쿼리스트링이 있다고 무조건 getmapping을 사용하는 것은 아닙니다. 위와 같은 경우에는 postmapping에서도 쿼리스트링으로 넘어온 값을 처리할 수 있습니다.

감사합니다.

GetMapping과 PostMapping의 url이 같은데 어떻게 PostMapping의 메서드가 수행된 건지 궁금합니다. 그건 스프링이 알아서 해주는 건가요?

네, HTTP Method를 기준으로 처리해줍니다.

dduckmane님의 프로필 이미지
dduckmane

작성한 질문수

질문하기