해결된 질문
작성
·
143
답변 1
3
안녕하세요. 재영님, 공식 서포터즈 OMG입니다.
네, 이해하신게 맞습니다.
스프링은 JSON 요청과 POST 폼 요청은 데이터 바인딩 & 검증 과정에서 다르게 처리합니다.
JSON 요청
@RequestBody 어노테이션을 사용하여 Json 문자열을 자바 객체로 변환하는데, 구조나 타입 등 객체의 필드와 일치하지 않아 변환에 실패할 경우 예외가 발생합니다.
Post 폼 요청
@ModelAttribute 어노테이션을 사용하며,(생략가능) 객체의 프로퍼티 바인딩이 진행됩니다.
바인딩이 되지 않더라도 @RequestBody와 같이 예외 발생으로 컨트롤러 호출 자체가 안되는 것은 아니며, 바인딩에 실패할 뿐 컨트롤러 메서드 호출은 실행됩니다.(바인딩에 성공한 데이터들만 객체의 값들이 채워지겠죠?)
다음 링크도 참고해주세요 😀
https://tecoble.techcourse.co.kr/post/2021-05-11-requestbody-modelattribute/
감사합니다.
레퍼런스까지.. 답변 정말 감사합니다!!