-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
Post 폼 요청 시, 타입 미스매치에 대한 질문
24.02.26 15:01 작성 조회수 72
1
JSON 요청 시, 타입을 맞지 않게 입력하게 되면, 컨트롤러 자체가 아예 호출되지 않는 것을 강의를 통해 확인했습니다.
Post 폼 요청 시, 이런 타입에 대한 올바르지 않은 입력을 하게 되어도, 컨트롤러가 호출되고 검증 단계까지 도달할 수 있는 이유가 스프링 프레임워크가 자동으로 타입을 적절하게 형변환해주기 때문인가요? 이유가 궁금합니다!
답변을 작성해보세요.
3
OMG
2024.02.26
안녕하세요. 재영님, 공식 서포터즈 OMG입니다.
네, 이해하신게 맞습니다.
스프링은 JSON 요청과 POST 폼 요청은 데이터 바인딩 & 검증 과정에서 다르게 처리합니다.
JSON 요청
@RequestBody 어노테이션을 사용하여 Json 문자열을 자바 객체로 변환하는데, 구조나 타입 등 객체의 필드와 일치하지 않아 변환에 실패할 경우 예외가 발생합니다.
Post 폼 요청
@ModelAttribute 어노테이션을 사용하며,(생략가능) 객체의 프로퍼티 바인딩이 진행됩니다.
바인딩이 되지 않더라도 @RequestBody와 같이 예외 발생으로 컨트롤러 호출 자체가 안되는 것은 아니며, 바인딩에 실패할 뿐 컨트롤러 메서드 호출은 실행됩니다.(바인딩에 성공한 데이터들만 객체의 값들이 채워지겠죠?)
다음 링크도 참고해주세요 😀
https://tecoble.techcourse.co.kr/post/2021-05-11-requestbody-modelattribute/
감사합니다.
답변 1