МОЙ POJO:Spring Не посылать все поля в ответ JSON
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.Table;
import lombok.Data;
@Entity
@Table(name="user_linked_email")
@IdClass(UserLinkedEmailKey.class)
@Data
public class UserLinkedEmail implements Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
@Id
private Integer userId;
@Id
private String linkedEmail;
/**
* The Following are appearing in JSON response
*/
private boolean status;
private boolean preferredFlag;
}
UserLinkedEmailKey класс:
public class UserLinkedEmailKey implements Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
private Integer userId;
private String linkedEmail;
}
И мой контроллер Отрывок:
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) {
//
}
Ответ в формате JSON выглядит следующим образом:
[
{
"status": false,
"preferredFlag": true
},
{
"status": true,
"preferredFlag": false
},
{
"status": true,
"preferredFlag": false
}
]
Почему другие два поля i.e userId и linkedEmail не отображаются в ответ, хотя Spring-Data JPA возвращает весь объект из репозитория?
@ScaryWombat Lombok делает это .. таким образом, нет явных getter seters .. но для вашей информации я даже пытался с удалением '@ Data' из POJO и написал инструкции для getter seters .. но результат все тот же –
извините не замечайте тег lombok. –