Open caboooom opened 3 months ago
프론트 서버 컨트롤러에서 GET /login 요청에 대해서는 뷰만 바로 반환해주기 때문에,
GET /login
@GetMapping public String login(){ return "authentication/login"; }
위처럼 컨트롤러에 핸들러 메서드를 추가하지 않고
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("index"); registry.addViewController("/login").setViewName("authentication/login"); <--- } }
위와 같이 WebConfig 파일에 ViewController만 추가해주었습니다.
그러나 서버를 켜고 /login 으로 접속하려고 하면 405 응답이 돌아왔습니다.
/login
컨트롤러에 GET /login 요청에 대한 핸들러 메서드를 만들어주니 제대로 동작했습니다.
그러나 ViewController에 해당 요청에 대한 뷰네임을 추가해줬기 때문에 핸들러 메서드를 따로 만들지 않아도 돌아가야 맞다고 생각했습니다!!
혹시 스프링부트 어떠한 설정 때문에 그런가 싶어서 WebConfig 파일을 아래처럼 수정하고
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("index"); registry.addViewController("/hi").setViewName("authentication/login"); <--- } }
실행시키니 정상작동했습니다.
또는 POST /login 핸들러 메서드를 삭제했을 경우 정상 작동 했습니다,,
문제 원인이나 해결법 아시는 분들 도와주세욥
문제
프론트 서버 컨트롤러에서
GET /login
요청에 대해서는 뷰만 바로 반환해주기 때문에,위처럼 컨트롤러에 핸들러 메서드를 추가하지 않고
위와 같이 WebConfig 파일에 ViewController만 추가해주었습니다.
그러나 서버를 켜고
/login
으로 접속하려고 하면 405 응답이 돌아왔습니다.해결과정
컨트롤러에 GET /login 요청에 대한 핸들러 메서드를 만들어주니 제대로 동작했습니다.
그러나 ViewController에 해당 요청에 대한 뷰네임을 추가해줬기 때문에 핸들러 메서드를 따로 만들지 않아도 돌아가야 맞다고 생각했습니다!!
혹시 스프링부트 어떠한 설정 때문에 그런가 싶어서 WebConfig 파일을 아래처럼 수정하고
실행시키니 정상작동했습니다.
또는 POST /login 핸들러 메서드를 삭제했을 경우 정상 작동 했습니다,,
문제 원인이나 해결법 아시는 분들 도와주세욥