2013-10-19 7 views
1

의 내가 선수 클래스가 있다고 가정 해 봅시다 :JSON 응답의 정보를 숨기려면 어떻게합니까?

@javax.xml.bind.annotation.XmlRootElement 
class Player { 
    Long id; 
    String name; 
    String secret; 
} 

는 또한 나라 주위에 성이있을 수 있습니다 (액세스 한정자를 무시)를

이제
@javax.xml.bind.annotation.XmlRootElement 
class Kingdom { 
    Long id; 
    String name; 
    Player owner; 
} 

, 나는에 의해 소비 JSON으로 나라 개체 침을 때 UI, 플레이어 개체도 함께갑니다. 이것은 좋은 일입니다. 만약 당신이 친절한 적이 있는지 적이라고 말할 수 없다면 그것은 유용하지 않을 것입니다. 그러나 나쁜 점은 비밀 변수가 또한 공개된다는 것입니다. 마샬링되지 않도록 내 비밀 변수에 주석을 달 수 있습니까?

+0

'일시적'입니까? –

+1

글쎄, 나는 여전히 데이터베이스에 있기를 원하기 때문에 Hibernate가 그것을 볼 수 있도록 어떤 솔루션을 필요로 하든지간에. – corsiKa

답변

5

당신은

@JsonIgnore 

javadoc의 상태

으로 필드 나 게터 주석을 달 수 있습니다
주석 메소드 또는 필드가 반성 기반의 직렬화 및 역 직렬화에 의해 무시 될 있음을 나타냅니다

마커 주석 기능. 즉, "getter", "setter" 또는 "creator"를 고려해서는 안됩니다.

+1

이것은 정확히 필요한대로 작동합니다. 관련된 모든 유지 관리 때문에 맞춤 마샬 러를 쓰고 싶지 않았습니다. 대단히 감사합니다. – corsiKa

관련 문제