2012-02-15 30 views
8

Biz sadece istemci tarafından ayarlanmış olması gerekiyordu yöntemleriJackson @JsonIgnore semantiği değiştirdi mi?

Biz setter yöntemleri @JsonIgnore açıklamak için kullanabileceğiniz 1.9.x için 1.7.x den Jackson bir güncelleme tetikleyen bazı maven bağımlılıkları, yükseltti. örneğin: (kimlik doğrulama anapara gelen ayarlanmalıdır birlikte) bir nesnenin sahibi, vb

Mümkün yani, bu ek açıklama semanthincs değiştiğini bize öyle geliyor? Şimdi alan her durumda jsonign edildi ve sadece ayarlandığında değil.

durum bu? Sadece ignore SET'i uygulamak için 1.9'da alternatif bir yol var mı?

Teşekkürler! r. Tamam

+0

sahadaki veya gaz giderici üzerinde @JsonProperty ek açıklama ekliyorsunuz? –

+0

Setter’e ekliyorum. 1.7.x – Rafael

cevap

8

, ben buldum ve javadoc bu konuya açık söz düşünüyorum. (jackson belgelerinin geçmesi kolay değildir). yani setter Bu ek açıklamanın vardır ve alıcı hiçbir ek açıklamaları varsa: Bu göz ardı edilecek bir özellik, aynı zamanda tüm mülkiyeti neden neden olacaktır ilişkili tek açıklama ise ek olarak

, Jackson 1.9 ile başlayan , alıcı da etkili bir şekilde göz ardı edilir. Farklı erişim sağlayıcıların farklı ek açıklamalar kullanması hala mümkündür; Yalnızca "alıcı" göz ardı edilecekse bu yüzden, diğer erişimcileri (ayarlayıcı veya alan) (genellikle JsonProperty) ignoral önlemek için açık bir ek açıklama gerekir.

+4

'de Serialization sırasında ayarlanmasının önlenmesi. Doğru. Bu 1.9'da büyük bir değişiklikti (bu, belki de 2.0'a kadar beklemiş olmalıydı). Eğer ("bölünmüş erişimcileri") istediğinizi elde etmek için, gaz giderici üzerinde JsonProperty' @ 'açık eklemeniz gerekir - Varsayılan sadece bir ilgili açıklama bulunursa, bu bir "tam" özelliğinin tüm parçalar için de geçerlidir farz etmektir . – StaxMan