BindingResult
를 적용하면 Controller 에 별도의 로직을 추가하지 않아도 type 을 잘못 요청할경우 기본적으로 에러메시지를 출력해준다.BindingResult
로 에러를 넘기고 Controller 를 정상 작동시킴Field error in object 'item' on field 'price'
: rejected value [ㅂ]; codes [typeMismatch.item.price,typeMismatch.price,typeMismatch.java.lang.Integer,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [item.price,price]; arguments []; default message [price]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.lang.Integer' for property 'price'; nested exception is java.lang.NumberFormatException: For input string: "ㅂ"]
⚠️ BindingResult
이 없거나, 잘못된 위치에 선언되어있다면 400 에러가 발생한다.