Bahar

2017-01-20 23 views
7

MY POJO JSON yanıt olarak tüm alanları gönderme Değil şöyle JSONBahar

public org.springframework.http.ResponseEntity<?> getLinkedEmails(@PathVariable(value = "userId") Integer zepoUserId) { 


     try { 
      List<UserLinkedEmail> linkedEmails = userService.getLinkedEmails(zepoUserId); 


      //linkedEmails till this point has all 4 fields 

      return new ResponseEntity<List<UserLinkedEmail>>(linkedEmails, HttpStatus.OK); 

     } catch (Exception e) { 
      // 
     } 

Tepki geçerli:

[ 
    { 
    "status": false, 
    "preferredFlag": true 
    }, 
    { 
    "status": true, 
    "preferredFlag": false 
    }, 
    { 
    "status": true, 
    "preferredFlag": false 
    } 
] 

Diğer iki alan neden, userId ve linkedEmail, Spring-Data JPA tüm nesneyi depodan döndürmesine rağmen yanıtta görünmüyor?

+0

@ScaryWombat Lombok bunu yapar .. bu nedenle hiçbir açık getter belirteçleri .. ama sizin bilgi için, POJOs '@ Data' kaldırma ile çalıştım ve manuel getter ayarlayıcıları yazdı .. ama sonuç hala aynı –

+0

üzgünüm lombok etiketi farketmez. –

cevap

5

Varsayılan olarak, Spring Data Rest artık JSON'a ait @ID Özelliklerine sahip değildir.

Bu kimlikleri açığa kullanılarak elde edilebilir - yerine JSON Varlık dönüştürme Orta Tepki Class olmasını öneririz detaylı explanation- id not marshalled to JSON

burada Spring Rest

Benzer yazı kontrol edin.

+0

Bunu kontrol ettiğiniz için teşekkürler .. Çözüm gibi görünüyor .. –

+0

Ayrıca, Entity'yi JSON'a dönüştürmek yerine Orta Düzeyde Yanıt Sınıfı almanızı öneririm. –