2017-02-27 4 views
1

스프링 MVC 또는 내 서비스 계층에서 내부 객체 매퍼를 통해 직렬화 된 도메인 객체가 있습니다. 스프링 MVC를 통해 deserialize 될 때 1 필드의 입력을 무시할 필요가 있지만 서비스 레이어의 내부 객체 매퍼는 무시해야합니다. 그것은 가능합니까?개체 매퍼 수준에서 속성을 무시합니까?

모든 힌트/단서는 깊이 감사드립니다.

+0

'@ JsonIgnore'를 사용할 수없는 특별한 이유는 무엇입니까? –

+0

실제로 탈 직렬화의 어느 경로가 트리거되는지 알 필요가있는 또 다른 상황이 있습니다. 그게 끝날 수 있니? – gigi2

+0

예를 게시 할 수 있습니까? –

답변

2

Mixin 주석 (문서 here)을 사용하면됩니다. 당신은 @JsonIgnore 필드와 다른 클래스를 생성하고 내부 objectMapper에 구성 할 수 있습니다 예컨대 :

abstract class MixIn { 
    @JsonIgnore int getXXX(); 
} 

objectMapper.getSerializationConfig().addMixInAnnotations(Model.class, MixIn.class);

objectMapper 서비스 레이어에서이 정보를 구성하면 외부 objectMapper이 해당 필드를 계속 serialize/deserialize 할 수 있습니다.

+0

많은 감사합니다. 그것은 매력으로 작동합니다! – gigi2

+0

대답이 도움이된다면 답을 표시해 주시겠습니까? –