Enum Converting Name Response - PullRequest
       21

Enum Converting Name Response

0 голосов
/ 10 июля 2020

Привет, у меня есть Enum ниже;

   public enum TaskStatusEnum {
      
      READY(1, "Ready");
      ON_GOING(2, "On going");
    
    private final long id;
    private final long description;
 

     public static TaskStatusEnum get(long id) {
    
     for (TaskStatusEnum status : TaskStatusEnum.values()) {
         
       if(status.id== id) {
    
        return status;
      
       }
     }
    
      return null;
     }
    }

Но в ответе я вижу свой ответ

taskStatus: ON_GOING taskStatus: READY

как предотвратить это Спасибо

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Вы можете использовать аннотацию @JsonValue для поля, которое вы хотите сериализовать / десериализовать. Ниже приведен полный пример кода

enum TaskStatusEnum{

READY(1, "Ready"),
ON_GOING (2,"On going");

private final long id;

@JsonValue
private final String description;

TaskStatusEnum (int id, String ready)
{
    this.id = id;
    this.description = ready;
}

public static TaskStatusEnum get (long id)
{
    for (TaskStatusEnum status : TaskStatusEnum.values()) {
        if (status.id == id) {
            return status;
        }
    }
    return null;
}

}

1 голос
/ 10 июля 2020

Используйте @JsonValue в получателе description в перечислении для десериализации description значения

@JsonValue
public double getDescription() {
    return description;
}

И если вы хотите сериализовать и десериализовать оба, тогда используйте его в поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...