스프링에서는 ObjectMapper를 재정의해서 사용하는데 기본적으로
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES=false로 사용한다.
하지만 해당 설정을 사용할 경우 @JsonIgnoreProperties(ignoreUnknown = false) 설정이 동작하지 않는다.
해결
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES 설정을 true로 변경할 수도 있지만, 이렇게 하면 응답 형식을 정확히 맞춰야 하는 불편함이 생깁니다.
이를 해결하기 위해 WebSocketHandler에서 분기 처리를 통해 문제를 해결했습니다.
문제
12
결론으로
@JsonIgnoreProperties
사용하는 방식을 선택했지만 정상적으로 동작하지않았다.원인
https://github.com/FasterXML/jackson-databind/issues/3067 https://github.com/spring-projects/spring-framework/issues/16510 https://github.com/spring-projects/spring-framework/issues/19575
스프링에서는 ObjectMapper를 재정의해서 사용하는데 기본적으로
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES=false
로 사용한다. 하지만 해당 설정을 사용할 경우@JsonIgnoreProperties(ignoreUnknown = false)
설정이 동작하지 않는다.해결
DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
설정을 true로 변경할 수도 있지만, 이렇게 하면 응답 형식을 정확히 맞춰야 하는 불편함이 생깁니다. 이를 해결하기 위해 WebSocketHandler에서 분기 처리를 통해 문제를 해결했습니다.