Для службы REST и ответа Java ключевое слово "native" в качестве одной из переменных - PullRequest
2 голосов
/ 06 февраля 2020

Я пытаюсь создать класс

package com.spectrum.biller.orderdetails.model;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString
public class TelephoneNumber {
   private String number;
   private String native;
   private String preferred;
}

Но я получаю сообщение об ошибке для переменной native "Синтаксическая ошибка в токене, недопустимый декларатор переменной". Но служба отдыха отправляет ответ с классом TelephoneNumber. Вот ответ.

{
    "telephoneNumber": {
        "number": "string",
        "native": "string",
        "preferred": "string"
    }
}

Мне нужно знать, как я могу объявить ключевое слово native как переменную в своем классе.

Спасибо BPradhan

1 Ответ

1 голос
/ 06 февраля 2020

Если вы используете Джексона в качестве библиотеки json, вы можете аннотировать свои поля с помощью @ JsonProperty . Там вы можете определить имя ключа, которое сопоставляется с вашей переменной.

В вашем случае вы можете сделать

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import com.fasterxml.jackson.annotation.JsonProperty;

@Getter
@Setter
@ToString
public class TelephoneNumber {
   @JsonProperty("number")
   private String number;
   @JsonProperty("native")
   private String nativeValue; //or however you want to name it
   @JsonProperty("preferred")
   private String preferred;
}

Если вы не используете Джексон, ваша используемая библиотека, вероятно, имеет нечто подобное.

...