오늘의하루

[Spring 검증] @ModelAttribute와 @RequestBody의 차이 본문

Spring

[Spring 검증] @ModelAttribute와 @RequestBody의 차이

오늘의하루_master 2023. 8. 28. 02:02

@ModelAttribute

필드 단위로 적용되며 특정 타입이 맞지 않는 오류가 발생해도 나머지 필드는 정상적으로 처리된다.

@RequestBody

HttpMessageConverter는 객체 단위로 적용되기 때문에 하나라도 잘못된 타입이 들어오면 예외가 발생한다.


정리

@ModelAttribute는 필드 단위로 바인딩이 적용되며 특정 필드가 바인딩 되지 않다고 나머지 필드는 정상적으로 바인딩 되고 @Validated를 통해 Validator를 사용한 검증이 적용된다.

 

@RequestBody는 HttpMessageConverter 단계에서 JSON 데이터를 객체로 변경하지 못하면 예외가 발생하기 때문에 Controller가 호출되지 못하고 이로 인해 @Validated를 통한 Validator를 사용한 검증도 적용이 되지 않는다.

'Spring' 카테고리의 다른 글

Servlet의 예외 처리하는 방법  (0) 2023.08.30
[Spring] 필터와 인터셉터  (0) 2023.08.29
Spring HandlerMapping & Adapter, ViewResolver  (0) 2023.08.23
Web Server, WAS, Servlet 정리  (0) 2023.08.22
Spring Web관련 Scope  (0) 2023.08.22
Comments