这个问题已经在这里有了答案:
我有一个简单的枚举,必须具有属性,确定和错误。 我试图通过使用@JsonProperty批注将其作为Json Object返回时,以小写形式返回该值。 首先,我认为是因为我将java.xmlbind.annotation与com.fasterxml混合在一起才是问题所在,但是删除java.xmlbind之后仍然无法正常工作。
使用此枚举的对象在json请求中始终显示OK或FAULT,而在请求XML时却没有OK和Fault。
使用Jackson 2.5.x
任何见解或建议将不胜感激。
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
*
*/
@XmlEnum
public enum RequestStatusType {
/**
* Generic server A-OK ;)
*/
@XmlEnumValue(value="ok")
@JsonProperty(value="ok")
OK,
/**
* Generic unknown server fault
*/
@XmlEnumValue(value="fault")
@JsonProperty(value="fault")
FAULT;
/**
* Returns a RequestStatusType based on the string passed in
* @param requestStatusType the requestStatusType to get
*/
public static RequestStatusType getRequestStatus (String requestStatusTypeStr) {
try {
return valueOf( requestStatusTypeStr.toUpperCase() );
} catch (Exception e) {
return null;
}
}
/* (non-Javadoc)
* @see java.lang.Enum#toString()
*/
@Override
public String toString() {
return super.toString().toLowerCase();
}
}