枚举类返回前端处理

后端经常使用的枚举类,在返回给前段,会之间显示枚举名称,不是很友好,可以通过以下方法解决。
 
枚举类上加  @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": "游客"
}

 


版权声明:本文为lishuzhen5678原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。