如何在JAX-RS中手动映射枚举字段

如何映射一个简单的JSON对象{"status" : "successful"}自动映射到JAX-RS中的Java Enum?

 public enum Status { SUCESSFUL ("successful"), ERROR ("error"); private String status; private Status(String status) { this.status = status; } } 

如果您需要更多详细信息,请随时问:)

以下JAXB注释应该这样做。 (我使用Jettison进行了测试,但我没有尝试其他提供商):

 @XmlType(name = "status") @XmlEnum public enum Status { @XmlEnumValue(value = "successful") SUCESSFUL, @XmlEnumValue(value = "error") ERROR; } 

这可能对你有帮助

 @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; } } }