Enum枚举前后端传输展示方案

2023-05-16

1、定义枚举类型

public enum RolesTypeEnum implements Enumerator {

    MANAGER("管理员", 0),
    BUSINESS("招商员工", 1),

    PROPERTY("物业员工", 2),

    FINANCE("财务员工", 3),

    EMPLOYEE("普通员工", 4),

    ENTERPRISE("企业员工", 5);

    @JsonValue
    private String desc;

    @EnumValue
    private Integer code;

    RolesTypeEnum(String desc, Integer code) {
        this.desc = desc;
        this.code = code;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }

    @Override
    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

}

注意:枚举需实现Enumerator 接口 且使用 @JsonValue 和@EnumValue 注解

3、表对应的实体类

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("sys_role")
@ApiModel(value="系统角色对象", description="系统角色表")
public class RoleEntity extends BaseEntity {

    private static final long serialVersionUID = 6671763345245442206L;

    /**
     * 系统角色代码
     */
    @ApiModelProperty(value = "系统角色代码")
    @TableField("ROLE_CODE")
    private String roleCode;

	/**
     * 系统角色名称
     */
    @ApiModelProperty(value = "系统角色名称")
    @TableField("ROLE_NAME")
    private String roleName;

	/**
     * 系统角色描述
     */
    @ApiModelProperty(value = "系统角色描述")
    @TableField("ROLE_DESC")
    private String roleDesc;

	/**
     * 角色类型
     */
    @ApiModelProperty(value = "角色类型")
    @TableField("ROLES_TYPE")
    private RolesTypeEnum rolesType;

}

 

2、新增编辑传输对象

@Data
@ApiModel(value="系统角色编辑传输对象", description="系统角色编辑传输对象")
public class RoleSaveDto implements Serializable {

	/**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    @JSONField(serializeUsing = ToStringSerializer.class)
    private Long id;

	/**
     * 角色名称
     */
    @ApiModelProperty(value = "角色名称")
    @NotBlank(message = "角色名称不能为空")
    private String roleName;

	/**
     * 角色描述
     */
    @ApiModelProperty(value = "角色描述")
    @NotBlank(message = "角色描述不能为空")
    private String roleDesc;

	/**
     * 角色类型
     */
    @ApiModelProperty(value = "角色类型 (类型:com.xxx.enums.RolesTypeEnum)")
    @NotNull(message = "角色类型不能为空")
    @JsonDeserialize(using = JacksonEnumConverter.class)
    private RolesTypeEnum rolesType;

}

 

3、前端查询需要的枚举类型

 @ApiOperation(value = "根据数据类型查询枚举类型", notes = "根据数据类型查询枚举类型")
 @RequestMapping(value = "findOfEnum", method = RequestMethod.GET)
 public ResultVo<List<DictDataVo>> listOfEnum(@ApiParam(value = "类型", required = true) 
                                         @RequestParam String enumName) throws Exception {
     List<DictDataVo> result = new ArrayList<>();
     // 获取所有常量
     Object[] objects = Class.forName(enumName).getEnumConstants();
     //获取指定方法
     Method coinAddressName = c.getMethod("getDesc");
     Method coinAddressCode = c.getMethod("getCode");
     for (Object obj : objects) {
         DictDataVo vo = new DictDataVo();
         vo.setId(Long.parseLong(coinAddressCode.invoke(obj).toString()));
         vo.setParamName(coinAddressName.invoke(obj).toString());
         result.add(vo);
     }
     List<DictDataVo> result = getDictDataVo(Class.forName(enumName));
     return ResultVo.success(result);
 }

 

4、后端返回视图对象

@Data
@ApiModel(value="角色分页视图对象", description="角色分页视图对象")
public class RolePageVo implements Serializable {

    private static final long serialVersionUID = -2014879475982660328L;

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID")
    @JSONField(serializeUsing = ToStringSerializer.class)
    private Long id;

	/**
     * 系统角色名称
     */
    @ApiModelProperty(value = "系统角色名称")
    private String roleName;

	/**
     * 系统角色描述
     */
    @ApiModelProperty(value = "系统角色描述")
    private String roleDesc;

	/**
     * 角色类型
     */
    @ApiModelProperty(value = "角色类型")
    private RolesTypeEnum rolesType;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createDate;

    /**
     * 创建者
     */
    @ApiModelProperty(value = "创建人")
    private String createUserName;


}

注意:返回需要的类型使用定义的枚举类
  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Enum枚举前后端传输展示方案 的相关文章

  • Enum枚举前后端传输展示方案

    1 定义枚举类型 public enum RolesTypeEnum implements Enumerator MANAGER 34 管理员 34 0 BUSINESS 34 招商员工 34 1 PROPERTY 34 物业员工 34 2
  • c++ enum class转int

    示例 enum class 定义 span class token keyword enum span span class token keyword class span span class token class name Colo
  • C++ enum 和enum class

    文章目录 C 43 43 enum 和 enum class共同点区别 C 43 43 enum 和 enum class 在C 43 43 中 xff0c enum 是一种定义枚举类型的方法 一个枚举是一个整数值的命名集合 可以通过以下方
  • C语言 -- enum 枚举的使用

    一 枚举的定义 枚举是C语言的一种基本的数据类型 enum 枚举名 枚举元素1 枚举元素2 我们以星期举例 enum DAY MON 61 1 TUE WED THU FRI SAT SUN 如果没有赋值 xff0c 第一个枚举成员的默认值
  • C#中的枚举 Enum和enum的区别

    枚举类型本质上是一个字典 xff0c 它将一组字符串映射到一组整数值 每个枚举常量都具有一个关联的整数值 xff0c 默认情况下 xff0c 第一个枚举常量的值为 0 xff0c 后续枚举常量的值会自动加 1 C 中有两种枚举类型 xff1
  • C++中枚举enum详解

    转载博客地址 xff1a https blog csdn net bruce 0712 article details 54984371 众所周知 xff0c C C 43 43 语言可以使用 define和const创建符号常量 xff0
  • C#中Enum枚举类型的简单使用

    枚举类型的介绍 xff1a 枚举类型是由一组特定常量构成的一组数据结构 xff0c 是值类型的一种特殊形式 xff0c 当需要一个由指定常量集合组成的数据类型时 xff0c 使用枚举类型 枚举声明可以显式地声明 byte sbyte sho
  • C#之enum,枚举类型的简介和使用

    枚举类似于数组 xff0c 但两者的定义方法和设计目的不同枚举中的值会放在栈中枚举类型不能直接放在方法中 xff0c 一般放在命名空间中或与类同级枚举使用enum关键字进行定义 xff0c 枚举类型的定义其实和类的成员定义相似 xff0c
  • c语言enum枚举字符串,c语言enum使用_enum枚举变量

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 二 enum枚举 1 枚举的定义 枚举类型定义的一般形式为 xff1a enum 枚举名 枚举值表 在枚举值表中应罗列出所有可用值 这些值也称为枚举元素 例如 xff1a 该枚举名为weekda
  • C#枚举(Enum)

    枚举是直接在命名空间 类或结构中使用 enum 关键字定义的 所有常量名都可以在大括号内声明 xff0c 并用逗号分隔 下面定义了工作日的枚举 示例 xff1a 定义一个枚举 enum WeekDays Monday Tuesday Wed
  • C++枚举类型enum使用方法(附带可用代码+通俗易懂)

    1 说明 枚举用来表示某类事情的结果 xff1b 例1 xff1a 下棋比赛的三种结果 xff0c 赢 xff0c 和 xff0c 输 xff1b 这里是描述比赛的结果 例2 xff1a 一周7天中的俩种结果 xff0c 工作日和非工作日
  • enum to string c++17 Magic Enum

    Magic Enum header only library provides static reflection for enums to string from string iteration for C 43 43 17 c 43
  • C/C++中枚举类型enum使用

    1 说明 xff1a 枚举enum的出现 xff0c 主要是为了解决一些特定属性的赋值 xff0c 变量取值仅在一定有限范围内的问题 例如一年只有十二个月取值 xff0c 一个星期只有七天情况 xff0c 人的性别只有男女两种等 这些属性如
  • C++中enum与字符串或CString互相转换的方法

    C 43 43 中没有专门为enum与字符串或CString互相转换的直接方法 xff0c 但是工作中会常遇到相互转换的场景 下面介绍一种自己实现的方法 xff0c 首先得定义一个enum类型 xff0c 同时 xff0c 定义一个与之对应
  • C++详解:枚举类型 --- enum | Xunlan_blog

    文章目录 一 概念二 定义枚举元素表 三 定义枚举对象的操作 四 要点 amp 技巧实例 一 概念 枚举类型 enumeration xff0c 是C 43 43 中的一种派生数据类型 xff0c 是用户创建的一个集合 xff0c 可以增加
  • 枚举(enum)

    一 什么是枚举 我们学习过单例模式 xff0c 即一个类只有一个实例 而枚举其实就是多例 xff0c 一个类有多个实例 xff0c 但实例的个数不是无穷的 xff0c 是有限个数的 例如word文档的对齐方式有几种 xff1a 左对齐 居中
  • 【Mybatis】No enum constant org.apache.ibatis.type.JdbcType.LONG

    问题描述 xff1a 今天编写定时任务管理模块 xff0c 提交定时任务实体信息时 xff0c 提示如下错误 nested exception is org apache ibatis builder BuilderException Er
  • 深入理解Java枚举类型(enum)

    版权申明 未经博主同意 xff0c 谢绝转载 xff01 xff08 请尊重原创 xff0c 博主保留追究权 xff09 http blog csdn net javazejian article details 71333103 出自 z
  • python枚举之Enum模块详解

    简介 当我们需要定义一些特定有限数量的常量 标签 类型等的时候 最佳方式就是使用枚举 枚举一般用于表示某些特定的有限集合 例如月份 季节 星期等 本篇主要介绍python2 7中的枚举类 即enum中的Enum类 python3 4开始有内
  • 枚举类中通过code值获取对应的desc值

    Getter NoArgsConstructor public enum TaskRecordTypeEnum STOPTASK 0 禁用任务 STARTTASK 1 启用任务 private int code private String

随机推荐

  • 42(牛客Top100)-102.二叉树的层序遍历

    给你一个二叉树 xff0c 请你返回其按 层序遍历 得到的节点值 xff08 即逐层地 xff0c 从左到右访问所有节点 xff09 思路 xff1a 用队列按层次遍历 方法1 xff1a 广度优先搜索 span class token k
  • MySQL总结

    1 数据库基础知识 1 1 什么是MySQL MySQL是一个关系型数据库管理系统 xff0c MySQL是最好的 RDBMS Relational Database Management System xff0c 关系数据库管理系统 应用
  • 45(牛客Top100)-121.买卖股票的最优时间

    给定一个数组 prices xff0c 它的第 i 个元素 prices i 表示一支给定股票第 i 天的价格 你只能选择 某一天 买入这只股票 xff0c 并选择在 未来的某一个不同的日子 卖出该股票 设计一个算法来计算你所能获取的最大利
  • 47(牛客Top100)-128.最长连续子序列

    给定一个未排序的整数数组 nums xff0c 找出数字连续的最长序列 xff08 不要求序列元素在原数组中连续 xff09 的长度 请你设计并实现时间复杂度为 O n 的算法解决此问题 思路 xff1a 方法1 xff1a 利用set集合
  • 48(牛客Top100)-136.只出现一次的数字

    给定一个非空整数数组 xff0c 除了某个元素只出现一次以外 xff0c 其余每个元素均出现两次 找出那个只出现了一次的元素 说明 xff1a 你的算法应该具有线性时间复杂度 你可以不使用额外空间来实现吗 xff1f 思路 xff1a 方法
  • stc-isp 51单片机烧录软件的安装

    stc isp的获取 百度网盘链接 xff1a https pan baidu com s 1vDTN2o8ffvczzNQGfyjHng 提取码 xff1a gdzf stc isp安装 此软件是绿色软件 xff0c 双击直接运行即可 开
  • 实习日记。。。

    第一周 第一天7 11 周一 入职第一天 xff0c 一直在数据库建表 xff0c 写了二十来个 xff0c 还有领了工卡和饭卡 xff0c 带我的老大哥请我恰了一顿 xff0c 晚上下班的时候 xff0c 因为舍不得我的电脑所以多待了一个
  • TCP/IP协议栈Lwip的设计与实现:之三

    接上文 xff1a TCP IP协议栈Lwip的设计与实现 xff1a 之二 龙赤子的博客 CSDN博客 目录 10 xff0e TCP处理 10 1概述 10 2数据结构 10 3序列号计算 10 4数据入队和传输 10 5接收段数据 1
  • c++——Unicode编码和多字节编码的区别

    1 VS项目属性不同字符集的区别 单字节字符集 xff1a 顾名思义 xff0c 单字节字符集就是用一个字节表示一个字符 xff0c 简称SBCS ASCII就是单字节字符集 在编码的过程中char类型就是单字节编码 Unicode字符集
  • 蓝桥杯 例题 切割矩形

    include lt bits stdc 43 43 h gt using namespace std int ans 61 0 int f int a int b ans 43 43 if a 61 61 1 amp amp b 61 6
  • c++——Unicode、UTF-8、UTF-16

    计算机起源于美国 xff0c 上个世纪 xff0c 他们对英语字符与二进制位之间的关系做了统一规定 xff0c 并制定了一套字符编码规则 xff0c 这套编码规则被称为ASCII编码 ASCII 编码一共定义了128个字符的编码规则 xff
  • spark MLlib之分类和回归

    MLlib支持多种方法用来处理二分分类 xff0c 多类分类以及回归分析 xff0c 下表列出了问题及对应的处理方法 xff1a 问题类型 支持的方法 二分分类 现行SVM xff0c 逻辑回归 xff0c 决策树 xff0c 贝叶斯 多类
  • 生产者消费者模型详解以及实现

    生产者消费者模式 我们先来看看什么是生产者消费者模式 xff0c 生产者消费者模式是程序设计中非常常见的一种设计模式 xff0c 被广泛运用在解耦 消息队列等场景 在现实世界中 xff0c 我们把生产商品的一方称为生产者 xff0c 把消费
  • 高频面试点:静态链接库与动态链接库

    库是写好的现有的 xff0c 成熟的 xff0c 可以复用的代码 现实中每个程序都要依赖很多基础的底层库 xff0c 不可能每个人的代码都从零开始 xff0c 因此库的存在意义非同寻常 本质上来说库是一种可执行代码的二进制形式 xff0c
  • cordova打包app热更新问题

    定义 xff1a 基于 cordova 框架能将web应用 js html css 图片等 打包成 App 当 App 在终端上安装后 xff0c 不需要重新下载app xff0c 实现内壳更新 原理 xff1a 1 在项目根目录的conf
  • 一文解决 Python读取文件的全部知识

    文件是无处不在的 xff0c 无论我们使用哪种编程语言 xff0c 处理文件对于每个程序员都是必不可少的 文件处理是一种用于创建文件 写入数据和从中读取数据的过程 xff0c Python 拥有丰富的用于处理不同文件类型的包 xff0c 从
  • 总结实验室对转录组及lncRNA数据分析的思路

    继师兄详细地讲述这个思路之后 xff0c 我进行一个归纳总结 xff08 师兄说 xff0c 首先要建立一个思想上的流程 xff0c 再来纠结软件 命令这些细节 xff01 xff01 xff01 xff01 xff01 xff01 xff
  • Android 高通7.1系统默认横屏显示(无G-sensor)

    竖屏横用 xff0c logo用的还是竖屏资源 1 添加宏控制 device qcom msm8909 system prop span class token comment add start span persist span cla
  • Android11 授权应用获取IMEI号和ICCID

    在Android11上获取IMEI号等设备信息需要android permission READ PRIVILEGED PHONE STATE权限 xff0c 而这个权限又只授予系统级应用 项目中如果targetSdkVersion值小于2
  • Enum枚举前后端传输展示方案

    1 定义枚举类型 public enum RolesTypeEnum implements Enumerator MANAGER 34 管理员 34 0 BUSINESS 34 招商员工 34 1 PROPERTY 34 物业员工 34 2