org.codehaus.jackson.annotate.JsonValue
,该jar包已经废弃维护,请使用fasterxml的jar包com.fasterxml.jackson.annotation.JsonValue
假设我们现在有如下枚举类:
public enum Sex {
FEMALE("0", "女"), MALE("1", "男");
private String value;
private String description;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
在SpringMVC中如果直接返回枚举类
@RequestMapping("sex")
@ResponseBody
public Sex aboutUs3(){
return Sex.MALE;
}
他会返回枚举对象的对象名称,比如Sex.MALE
,就会返回"MALE"
,如果想返回枚举对象中的某个属性,则可以使用@JsonValue
注解。该注解只能用在方法上,所以我们想返回枚举对象的哪个属性,就在对应属性的getter方法上加上该注解即可。
@JsonValue
public int getValue() {
return value;
}
此时,该枚举类作为另一个实体类的属性返回,jackson也会自动返回标注了@JsonValue
注解的属性值。