SpringBoot实现前端传入数值Controller层接收为枚举

2023-11-20

定义枚举

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import java.util.Arrays;

/**
 * Created with IntelliJ IDEA.
 *
 * @auther: lkz
 * @date: 2021/04/03
 * @version: 1.0
 * @description:
 */
@Getter
// 让枚举返回的时候携带里面的值
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum NumEnum {

    M_0(0, "0的枚举"),
    M_1(1, "1的枚举"),
    M_2(2, "2的枚举"),
    UNKNOWN(-1, "未知");

    private Integer code;

    private String msg;

    private NumEnum(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    // 自定义反序列函数
    // JsonCreator.Mode.DELEGATING: 接收单个值,将接收的值整个传入自定义函数
    @JsonCreator(mode = JsonCreator.Mode.DELEGATING)
    public static NumEnum get(Integer code) {
        if (code == null) return UNKNOWN;
        return Arrays.stream(NumEnum.values()).filter(i -> i.getCode() == code.intValue()).findAny().orElse(UNKNOWN);

    }
}

 

实体类

public class Test implements Serializable {

    private static final long serialVersionUID = 1L;
    
    private int id;
    
    private NumEnum num;
}

接口

@PostMapping("/test")
    public Object save(@RequestBody Test test) {

        return test;
    }

 

成功

 

Demo:https://gitee.com/awfaef/jpaenumdemo.git

 

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

SpringBoot实现前端传入数值Controller层接收为枚举 的相关文章

随机推荐

  • 解决深度下外接显示屏调整屏幕分辨率的问题

    将以下命令粘贴进去即可 cvt 1366 768 60 1368x768 59 88 Hz CVT hsync 47 79 kHz pclk 85 25 MHz Modeline 1368x768 60 00 85 25 1368 1440
  • 数据库概论笔记第五章(ER模型)

    E R模型 1 建立模型 数据库可以被定义为实体的集合和实体间的关系 实体集 相同类型的实体的集合 属性类型 实体集都拥有的描述性的属性 域domain 每个属性允许值的集合 简单simple属性 不可分割的属性 复合composite属性
  • sqlServer将一个表中的字段更新到另一个表中

    将表2 中 evaluate 字段更新到表1 UPDATE dbo 表1 SET evaluate c evaluate FROM dbo 表2 c dbo 表1 i WHERE c id i indexId
  • vue 权限按钮显示隐藏 (组件法)

    咱们做后台管理系统 肯定避免不了 权限菜单 权限按钮的显示与隐藏 我分享一下 我的实现 创建一个权限显示隐藏的公共组件
  • Android TabLayout设置选中状态标题字体大小,粗细

    最全Tablayout详解https blog csdn net yechaoa article details 122270969 布局文件
  • 分享5个免费、高清、无版权视频素材网站,果断收藏!

    现在各种短视频和自媒体是越来越火了 创作者们对于自己作品的版权也愈发重视 稍不留神你的视频可能就侵权了 例如使用 未经授权的视频素材 都是会涉及到侵权的 其实现在有很多无版权的视频素材网站 可以满足大家一定的创作需求 下面给大家分享5个免费
  • 前端vue实现分页功能

    前端Vue实现分页功能 我们都知道在spring boot项目中安装pagehelper可以实现分页功能 但是在vue中也能在前端实现分页 1 首先 在data中定义以下变量 data return list null listLoadin
  • 【spring aop】连接点(Jointpoint)、切入点(Pointcut)、增强(Advice)、方面/切面(Aspect、Advisor)

    文章目录 前言 1 先来回顾一下AOP中的一些术语 2 增强方式简介 2 1 MethodBeforeAdvice前置增强 2 2 AfterReturningAdvice后置增强 2 3 ThrowsAdvice异常增强 2 4 Meth
  • Unity3d Terrain地形制作系列(一)

    游戏简单地形 地形制作 地形制作 第一步在场景里加载一个地形对象 第二步 我们在属性面板里找到绘制地形 然后选择Set Height 绘制高度 应该我们要制作低凹的效果 所有先让他有个高度 不然是不能实现低凹的效果 如图 我们然后选择绘制地
  • Node.js安装及环境配置(简单易懂全面!)

    参考 https www cnblogs com liuqiyun p 8133904 html https www jianshu com p 13f45e24b1de 目录 一 安装环境 二 安装Node js步骤 三 前期准备 四 开
  • 球迷 如何在Linux纯命令行玩转谷歌浏览器,边看欧洲杯,边看足球宝贝

    大家好 我是Lex 喜欢欺负超人那个Lex 擅长领域 python开发 网络安全渗透 Windows域控Exchange架构 今日重点 1 Linux骚操作 纯命令行玩转GoogleChrome浏览器 2 在Linux命令行打开足球宝贝的搜
  • stm32f103中断函数配置

    一 配置中断优先级NVIC 1 初始化中断结构体在misc h中找到 NVIC InitTypeDef 这个结构体并定义 2 中断优先级分组 在misc c文件里找到 void NVIC PriorityGroupConfig uint32
  • U-Boot启动过程完全分析

    1 1 U Boot工作过程 U Boot启动内核的过程可以分为两个阶段 两个阶段的功能如下 1 第一阶段的功能 硬件设备初始化 加载U Boot第二阶段代码到RAM空间 设置好栈 跳转到第二阶段代码入口 2 第二阶段的功能 初始化本阶段使
  • AE/VAE/DDPM

    Docshttps laiye tech feishu cn docx XRKldiRcZoMDomxwrKtcWD8EnQb基于Diffusion的典型可控图片生成模型在上文扩散模型原理的基础上 本文对目前最前沿的几个可控图像生成模型如D
  • PostgreSQL的AWR(PG_PROFILE)

    PostgreSQL参数配置 如下配置为使用pg profile最基本的配置 shared preload libraries pg stat statements pg stat statements max 10000 pg stat
  • 一个人录制课程--全网独一

    获取方式 见文末 共计八章节 1 php编程 2 web安全基础 3 中间人攻击与抓包 4 正反向代理与端口转发5 提权 6 内网 7 实战8工具 1 PHP编程 1 讲师介绍 http协议 挖掘BUG mp4 2 搭建apache php
  • 贝叶斯网络的python实现:Monty Hall问题的求解

    前两节分别介绍了贝叶斯图模型的必要性以及贝叶斯网络的基本原理 本节将通过一个简单的问题介绍贝叶斯网络的python实现 三门问题 Monty Hall problem 亦称为蒙提霍尔问题 蒙特霍问题或蒙提霍尔悖论 是电视节目中一个简单的游戏
  • Spring Bean的三种注入方式

    Spring Bean的三种注入方式 setter 方法 属性 注入 构造方法注入 注解注入 Resource和 Autowired 自动装配 Autowired 和 Resource Autowired Spring提供的注解 byTyp
  • SQL语言---视图操作

    文章目录 前言 一 视图 1 什么是视图 2 建立视图 3 删除视图 二 定义视图 1 建立视图 1 语法格式 2 举例讲解 例子1 建立房间视图 例子2 基于多表建立视图 例子3 基于视图建立视图 例子4 基于表达式的视图 2 删除视图
  • SpringBoot实现前端传入数值Controller层接收为枚举

    定义枚举 import com fasterxml jackson annotation JsonCreator import com fasterxml jackson annotation JsonFormat import lombo