后端经常使用的枚举类,在返回给前段,会之间显示枚举名称,不是很友好,可以通过以下方法解决。
枚举类上加 @JsonFormat 注解
例如以下代码
maven
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
package com.user.enums;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 用户等级枚举
* @author lishuzhen
* @date 2020/7/9 20:45
*/
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum UserLevel {
/**
* 未注册
* */
TOURIST("1","游客"),
/**
* 已注册
* */
REGISTER("2","已注册"),
String code;
String desc;
UserLevel(String code, String desc) {
this.code = code;
this.desc = desc;
}
public String getCode() {
return code;
}
public String getDesc() {
return desc;
}
public static UserLevel getUserLevel(String code) {
for (UserLevel l : UserLevel.values()) {
if (l.getCode().equals(code)) {
return l;
}
}
return null;
}
}
controller直接return
return UserLevel.getUserLevel(code);
返回json
{"code": "1","desc": "游客"}