회원가입 로직을 작성해두고,
새로 만든 회원가입 페이지와 연동한 뒤 실행했다.
그랬더니 기다렸다는 듯이 바로 오류가 발생했다 ! 와우 ..
Resolved [org.springframework.web.HttpMediaTypeNotSupportedException:
Content-Type 'application/x-www-form-urlencoded;charset=UTF-8'
is not supported]
...
전에도 프로젝트 하면서 form 태그를 사용해서 진행했을 때,
원하는 대로 로직이 진행되지 않았던 기억이 있었다.
그 때는 form 태그 사용을 포기하고,
ajax 요청을 보내서 해결했던 것 같은데, 이번에는 form 태그로 진행해보고 싶었다.
주로 나는 오류가 주고받는 데이터의 형태라고 한다.
내가 본 오류도 Content Type
오류라서,
주고받는 데이터의 형식이 달라서 발생했던 것 같다.
기본적으로 form 태그의 Content-Type은 application/x-www-form-urlencoded
라고 한다.
그런데 내가 받는 서버 코드는 기본적으로 application/json
으로 받게 되어있고,
받기 위한 Dto 앞에 @RequestBody 에너테이션이 붙어있었다.
(Controller 클래스 자체는 @Controller 에너테이션이 붙어있다)
그래서 @RequestBody 에터네이션을 제거하고 재실행해보니
원하는대로 동작이 되었다 !
이렇게 간단하게 해결되는 문제일 줄이야 ..
사실 div 태그나 다른 HTML 태그를 사용해서 ajax 나 axios 요청으로 해결해도 되지만,
내가 찾아본 바로는 Form 태그를 사용해야 엔터키로도 요청이 보내진다고 해서
로그인과 회원가입은 Form 태그를 사용해서 계속 진행해보려고 한다.