15

{"status" : "successful"}単純な JSON オブジェクトを JAX-RS 内の Java Enum に自動的にマップするにはどうすればよいですか?

public enum Status {
    SUCESSFUL ("successful"), 
    ERROR ("error");

    private String status;

    private Status(String status) {
        this.status = status;
    }
}

さらに詳細が必要な場合は、お気軽にお問い合わせください:)

4

2 に答える 2

15

次のJAXB注釈でそれを行う必要があります。(使用してテストしJettisonましたが、他のプロバイダーは試していません):

@XmlType(name = "status")
@XmlEnum
public enum Status {
    @XmlEnumValue(value = "successful")
    SUCESSFUL, 
    @XmlEnumValue(value = "error")
    ERROR;
}
于 2012-09-06T02:55:27.810 に答える
7

これはあなたを助けるかもしれません

@Entity
public class Process {

  private State state;

  public enum State {
    RUNNING("running"), STOPPED("stopped"), PAUSED("paused");

    private String value;

    private State(String value) {
      this.value = value;
    }

    @JsonValue
    public String getValue() {
      return this.value;
    }

    @JsonCreator
    public static State create(String val) {
      State[] states = State.values();
      for (State state : states) {
        if (state.getValue().equalsIgnoreCase(val)) {
          return state;
        }
      }
      return STOPPED;
    }
  }
}
于 2014-07-04T12:56:58.450 に答える