[TIL] Form 태그와 Spring Boot 서버 연동 오류

su·2024년 6월 11일
0

TIL

목록 보기
87/93
post-thumbnail

Form 태그를 이용한 회원가입 코드

회원가입 로직을 작성해두고,
새로 만든 회원가입 페이지와 연동한 뒤 실행했다.

그랬더니 기다렸다는 듯이 바로 오류가 발생했다 ! 와우 ..

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 태그를 사용해서 계속 진행해보려고 한다.

profile
(❁´◡`❁)

0개의 댓글