본문 바로가기
Frameworks/SPRING

HTTP 상태 415 – 지원되지 않는 Media Type 오류

by 달팽이 "@... 2022. 2. 2.
내용

form 태그의 input data들을 컨트롤러에서 @RequestBody 어노테이션으로 받아 VO로 파싱하는 기능을 구현하려는 과정에서 아래와 같은 오류 발생

해당 코드 영역


원인

Content Type이 "text/html;charset=utf-8"인 Reqeust의 body를 해당 오브젝트로(ProductVO) 파싱할 수 없기 때문에 발생한 문제임


해결 방법

먼저 테스트를 해보는 과정 중 일어난 오류였어서 request의 Content Type이 "text/html;charset=utf-8"였지만 Request의 Content Type을 "application/json" 타입으로 하고 body를 json으로 전달한 후 컨트롤러에서 PostMapping의 MediaType을 "APPLICATION_JSON"으로 설정해주면 정상적으로 파싱이 가능하다

 

반대로 컨트롤러에서는 ProductVO 클래스가 아닌 String으로 받으면 여러개의 파라미터를 하나의 String 객체로 받아 아래의 예시처럼 &로 각각의 파라미터를 구분할 수 있다

매개변수를 String 타입으로 하여 body 데이터를 정상적으로 전달 받음

 

변수 data 출력 결과