spring boot 中接口参数为枚举时的反序列化配置(总结)
时间:2021-07-12
本文章向大家介绍spring boot 中接口参数为枚举时的反序列化配置(总结),主要包括spring boot 中接口参数为枚举时的反序列化配置(总结)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
步骤
-
如果是 GET 请求中需要反序列化枚举值(即 url 中的参数[querystring]),确保以下两点
1.1. 重写 StringToEnumConverterFactory
1.2. 配置 registry.addConverterFactory(new StringToEnumConverterFactory());
-
如果是 POST 请求,确保以下两点
2.1. 在目标字段或 getXXX() 上写
@JsonValue
注解,这个注解会在序列化以及反序列化时使用,但仅限于 json 格式的数据,如果是 GET 请求中 url 上的参数,这个就没用,因为只有 json 的序列化和反序列化才会走 jackson 的代码啊2.2. 如果字段或 getXXX() 返回的是 Integer 类型的数据,那么客户端在传值时需要 toString() 一下,即确保传递过来的值是字符串类型,而不是整型,否则无法解析参数(如果有时间再深究)。
2.3.
0
和"0"
也可以传,这个会被反序列化成枚举类型中的第一项
备注
关于第一点和第二点中具体代码的配置,可以参考之前写的spring-boot rest controller 使用枚举作为参数,重写反序列化实现任意值转枚举类型
原文地址:https://www.cnblogs.com/myesn/p/15004402.html
- 彻底解决WordPress 中 半角全角字符转义 的问题
- 利用Spring的@Async异步处理改善web应用中耗时操作的用户体验
- Oracle中使用Entity Framework 6.x Code-First方式开发
- 边缘计算推动AI发展 未来能摆脱云计算吗?
- intellij idea 高级用法之:集成JIRA、UML类图插件、集成SSH、集成FTP、Database管理
- 微软.NET Core RC2正式发布,横跨所有平台
- 二帮主:央行数字货币的崛起,会给比特币带来什么影响
- cas原理介绍
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
- C#全角和半角转换
- 浅谈Scala在大数据处理方面的优势
- 利用mybatis-generator自动生成代码
- 微信年终放大招!小程序再次升级,这个功能超想要!
- WordPress 中禁止文章自动保存和修订版本的方法
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释