스프링 MVC 또는 내 서비스 계층에서 내부 객체 매퍼를 통해 직렬화 된 도메인 객체가 있습니다. 스프링 MVC를 통해 deserialize 될 때 1 필드의 입력을 무시할 필요가 있지만 서비스 레이어의 내부 객체 매퍼는 무시해야합니다. 그것은 가능합니까?개체 매퍼 수준에서 속성을 무시합니까?
모든 힌트/단서는 깊이 감사드립니다.
스프링 MVC 또는 내 서비스 계층에서 내부 객체 매퍼를 통해 직렬화 된 도메인 객체가 있습니다. 스프링 MVC를 통해 deserialize 될 때 1 필드의 입력을 무시할 필요가 있지만 서비스 레이어의 내부 객체 매퍼는 무시해야합니다. 그것은 가능합니까?개체 매퍼 수준에서 속성을 무시합니까?
모든 힌트/단서는 깊이 감사드립니다.
Mixin
주석 (문서 here)을 사용하면됩니다. 당신은 @JsonIgnore
필드와 다른 클래스를 생성하고 내부 objectMapper
에 구성 할 수 있습니다 예컨대 :
abstract class MixIn {
@JsonIgnore int getXXX();
}
objectMapper.getSerializationConfig().addMixInAnnotations(Model.class, MixIn.class)
;
objectMapper
서비스 레이어에서이 정보를 구성하면 외부 objectMapper
이 해당 필드를 계속 serialize/deserialize 할 수 있습니다.
많은 감사합니다. 그것은 매력으로 작동합니다! – gigi2
대답이 도움이된다면 답을 표시해 주시겠습니까? –
'@ JsonIgnore'를 사용할 수없는 특별한 이유는 무엇입니까? –
실제로 탈 직렬화의 어느 경로가 트리거되는지 알 필요가있는 또 다른 상황이 있습니다. 그게 끝날 수 있니? – gigi2
예를 게시 할 수 있습니까? –