Java将枚举类转为json返回给前端

06-01 523阅读

Java将枚举类转为json返回给前端

    • 1.后端将枚举类直接返回给前端时只会显示枚举名称
    • 2.使用 @JsonFormat 注解可以将枚举类转为json再返回给前端。
      • 2.1添加maven依赖
      • 2.2在枚举类上添加@JsonFormat(shape = JsonFormat.Shape.OBJECT)
      • 2.3编写接口返回给前端

        1.后端将枚举类直接返回给前端时只会显示枚举名称

        后端经常会使用到枚举类,想让前端知晓这个枚举类中常量的含义,要将其返回给前端。

        直接返回枚举类的话,前端只会显示枚举名称,不是很友好。

        Java将枚举类转为json返回给前端

        2.使用 @JsonFormat 注解可以将枚举类转为json再返回给前端。

        Java将枚举类转为json返回给前端

        2.1添加maven依赖

            com.fasterxml.jackson.core
            jackson-databind
        
        

        2.2在枚举类上添加@JsonFormat(shape = JsonFormat.Shape.OBJECT)

        import com.fasterxml.jackson.annotation.JsonFormat;
        import lombok.Getter;
        @Getter
        @JsonFormat(shape = JsonFormat.Shape.OBJECT)
        public enum PhaseEnum {
            //0:接地端,1:导线端A相, 2: 导线端B相,3: 导线端C相,4: 接地端A相,5: 接地端B相,6: 接地端C相
            PHASE_0(0, "接地端"),
            PHASE_1(1, "导线端A相"),
            PHASE_2(2, "导线端B相"),
            PHASE_3(3, "导线端C相"),
            PHASE_4(4, "接地端A相"),
            PHASE_5(5, "接地端B相"),
            PHASE_6(6, "接地端C相");
            private final Integer code;
            private final String name;
            PhaseEnum(Integer code, String name) {
                this.code = code;
                this.name = name;
            }
            /**
             *根据name查code
             **/
            public static Integer getCodeByName(String name) {
                for (PhaseEnum phaseEnum : PhaseEnum.values()) {
                    if (phaseEnum.getName().equals(name)) {
                        return phaseEnum.getCode();
                    }
                }
                return null;
            }
            /**
             *根据name查枚举类
             **/
            public static PhaseEnum getPhaseEnum(String name) {
                for (PhaseEnum temp : PhaseEnum.values()) {
                    if (temp.getName().equals(name))  {
                        return temp;
                    }
                }
                return null;
            }
        }
        

        2.3编写接口返回给前端

        /**
         * 获取地线部件的相位枚举
         **/
        @RequestMapping(value = "/getEarthwirePhase.do", method = {RequestMethod.GET})
        @ResponseBody
        @ApiOperation(value = "获取地线部件的相位枚举", notes = "获取地线部件的相位枚举")
        public Object getEarthwirePhase() {
            return RestResponse.success(PhaseEnum.values());
        }
        
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码