Как я могу сделать переходное свойство в Spring Data и Elasticsearch? - PullRequest
0 голосов
/ 12 июня 2018

У меня есть свойство в моей сущности, которое я не хочу сохранять в Elasticsearch, поскольку это «вычисляемое» свойство, а не поле, поэтому я добавил @Transient (из данных весны):

public class Vehicle {

    //more stuff

    @Transient
    public String getType() {
        if (something) {
            return "A";
        }
        return "B";
    }

}

Но я получаю ошибку сопоставления (она определена как строгая и она не знает поля "type").

Я знаю, что могу использовать @JsonIgnore, но мне нужно вернутьсяэкземпляр Vehicle возвращается пользователю через Json REST API, и это свойство должно быть включено.

1 Ответ

0 голосов
/ 12 июня 2018

Мне нужно вернуть экземпляр Vehicle обратно пользователю через JSON REST API, и это свойство должно быть включено

Вы находитесь на верном пути!Вы можете игнорировать все, что хотите, с помощью @JsonIgnore, а также добавлять любое свойство JSON с помощью @JsonProperty аннотации

. В этом случае вы можете сделать что-то вроде этого:

@JsonProperty("type")
public String getTypeForMyBusinesLogic() {
  return getType();
 //or whatever you want to return
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...