问题来源

写一个POST接口时,使用@RequestBody注解序列化参数对象,对象中使用LomBok的@Builder注解

    @ApiOperation(value = "保存导入导出配置", notes = "需token")@PostMapping("/save")public ResultVO<Void> save(@RequestBody @Validated ImportConfigSaveDto saveDto) {importExportConfigService.save(saveDto);return ResultUtil.success();}

然后调用接口时,报以下错误:

java.lang.NoSuchMethodError: com.aixiao.business.dto.importconfig.ImportConfigSaveDto.<init>()V

原因分析

@RequestBody注解将json字符串反序列化为实体类对象走的是无参构造,而@Builder注解加在实体类即使加上@Data注解也会报错,具体原因有兴趣可以搜索相关博客

解决方案

给实体对象手动添加无参构造方法,并加上@Tolerate注解(作用是让lombok不感知)

@Getter
@Setter
@Builder
public class ImportConfigSaveDto implements Serializable {private static final long serialVersionUID = -2239193425632481616L;@ApiModelProperty("应用ID")private Integer appId;@ApiModelProperty("导入配置")private String importContent;@ApiModelProperty("导出配置")private String exportContent;@ApiModelProperty("是否启用 true-启用,false-禁用")private Boolean enabled;@Toleratepublic ImportConfigSaveDto() {}
}

@RequestBody序列化有@Builder修饰的实体类时产生的问题相关推荐

  1. mybatis oracle生成注释,MyBatis Generator生成Oracle数据库对应实体类时无法获取注释问题...

    最近在利用mybatis generator生成Oracle数据库对应的实体类时发现一个问题,特此记录下. 因为项目使用到了swagger2,所以想在生成实体类时通过表注释和字段注释生成对应的@Api ...

  2. jquery ajax 序列化表单传参提交实体对象到后台action

    ========action后台我这里使用的是SpringMVC如果用ssh用法一致=============== @Controller @RequestMapping("PubjobCo ...

  3. 使用IDEA逆向生成实体类时注意问题(Maven)

    第一步:配置pom.xml文件添加mybatis插件(直接加到相应位置就行) <!--mybatis插件--><plugin><groupId>org.mybati ...

  4. 【Java笔记】Java创数据库实体类时如何处理表格的外键

    刚学习数据库时有过这样的疑惑,我们的数据库是这样的: 我们在实体类将一般表格项定义为属性是这样的: 那么如何处理order实体中的uid呢?方法如下: 1.在Order实体类中定义一个User对象 2 ...

  5. SwiftUI Macaw 如何修复Expression was too complex to be solved in reasonable time

    问题 Expression was too complex to be solved in reasonable time 解决方案 Swift对类型推断的使用使我们的代码更短,更易于阅读,但同时也占 ...

  6. 对象的序列化与反序列化---IO学习笔记(四)

    对象的序列化,反序列化 对象的序列化: 就是将Object转换成byte序列 对象的反序列化: 将byte序列转换成Object 序列化流,反序列化流 序列化流(ObjectOutputStream) ...

  7. 从微软的DBML文件中我们能学到什么(它告诉了我们什么是微软的重中之重)~二 DBContext实例中,表实体对象是怎么被加入的...

    一 DBContext的构造方法,方法的重载 二 DBContext实例中,表实体对象是怎么被加入的 三 分部类是否破坏了单一职责 四 分部方法从另一方面定义了类型的操作规范 五 LINQ实体类中对属 ...

  8. [Serializable]在C#中的作用——实现.NET对象序列化

    简介 序列化是指将对象实例的状态存储到存储媒体的过程.在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流.在随后对对象进行反序列化时,将创 ...

  9. C#之三十七 实体类

    视频课:  C#程序设计与宿舍管理系统实战 3.1      使用实体类构建三层结构概述 在上一章中的三层架构中,我们使用DataSet来进行数据的传递,但在OOP的开发中,有很大的局限性: 1.   ...

最新文章

  1. 如何从字符串中删除文本?
  2. Spring的jdbcTemplate 与原始jdbc 整合c3p0的DBUtils 及Hibernate 对比 Spring配置文件生成约束的菜单方法...
  3. python3.5兼容2.7吗_Python版本2.7切3.5和3.5切2.7
  4. uniapp动态修改样式_掌握Photoshop图层样式技术
  5. kubernetes安装Helm
  6. C++ - extern C用法浅析
  7. java爬虫框架_Python,爬虫开发的不二选择
  8. 商务人士,你抛弃邮箱了吗?
  9. 人脸识别 java_利用Java调用OpenCV进行人脸识别
  10. 邱锡鹏神经网络怎么样,邱锡鹏 神经网络pdf
  11. java 文件 锁定,Java中的文件锁定
  12. VIVADO除法IP注意事项
  13. XtraBackUp 全量备份
  14. “信息安全产品”的昨天、今天和明天
  15. python协同过滤算法_协同过滤(ALS)的原理及Python实现
  16. ZOJ 3797 Sister's Noise 组合+DP
  17. mysql函数汇总之字符串函数
  18. DEBUG命令大全及实例(有改动)
  19. 指纹识别综述(8): 唯一性
  20. 在计算机中c语言是属于什么作用,C语言属于下列哪一类计算机语言( )

热门文章

  1. 数据结构超市选址、最短路径查询、地址信息查询
  2. 2022年江西省信息技术知识竞赛
  3. 教你怎样通过SEO做出高权重网站
  4. python获取网页文本框内容_python识别html主要文本框
  5. 用计算机弹音乐猪八戒娶老婆,《猪八戒娶媳妇》幼儿园中班音乐教案
  6. 第三方接口开发转译实体入库
  7. 程序员的语言表达能力
  8. stm32f030无感foc方案,资料包括原理图,pcb,源程序
  9. php无参数函数实现rce,浅谈无参数RCE
  10. zigbee协议栈初使用(三)无线数据传输