当前位置: 首页 > news >正文

Axios post请求出现500错误

笔者在编写前端form表单传后端数据的时候,出现了以下问题

一、问题场景

当我用axios发送post请求的时候,出现了500错误

笔者找了很长时间错误,代码没问题,后端接口也没问题,后来发现问题出在实体类上了

当前端post请求调后端接口时候,后端控制台打印如下错误

看到错误提示说无法反序列化,这是什么意思?

待我细说

二、解决方案

首先前端form表单传来的是json数据,那么我们理应在后端controller层方法参数上加上@RequestBody,理由如下

@RequestBody是作用在形参列表上,用于将前台发送过来固定格式的数据【xml格式 或者 json等】封装为对应的 JavaBean 对象,
封装时使用到的一个对象是系统默认配置的 HttpMessageConverter进行解析,然后封装到形参上

那么为什么还是报错呢

后来笔者百度了无数遍,终于找到了解决办法

结论:实体类有无参构造方法,对象才可以序列化

于是我在实体类上加上@NoArgsConstructor方法,然后用http调接口,前端控制台响应正常

三、总结反思

  • 序列化:将数据结构或对象转换成二进制字节流的过程
  • 反序列化:将在序列化过程中所生成的二进制字节流的过程转换成数据结构或者对象的过程
  • 对象在进行网络传输(比如远程方法调用 RPC 的时候)之前需要先被序列化,接收到序列化的对象之后需要再进行反序列化;
  • 将对象存储到文件中的时候需要进行序列化,将对象从文件中读取出来需要进行反序列化。
  • 将对象存储到缓存数据库(如 Redis)时需要用到序列化,将对象从缓存数据库中读取出来需要反序列化。

序列化的时候,需要将实体类实现Serializable接口

反序列化的时候,需要实体类有无参构造方法

http://www.lryc.cn/news/180714.html

相关文章:

  • 【Leetcode】171.Excel 表列序号
  • 2023湖南省赛游记/题解
  • 海信电视U8KL使用体验:参数卷,画质技术也独有!
  • E. Mishap in Club
  • UE4 自带体积云应用
  • RTP/RTCP 协议讲解
  • 倒计时15天!百度世界2023抢先看
  • Redis 哈希(Hash)数据类型和命令(数据类型 二)
  • [Linux]线程互斥
  • leetcode-239-滑动窗口最大值
  • 基于大语言模型的智能问答系统应该包含哪些环节?
  • 【Cesium创造属于你的地球】相机系统
  • 运维困局下确保系统稳定的可行性
  • springmvc中DispatcherServlet关键对象
  • 某微e-office协同管理系统存在任意文件读取漏洞复现 CNVD-2022-07603
  • 消息驱动 —— SpringCloud Stream
  • 使用Apache HttpClient爬取网页内容的详细步骤解析与案例示例
  • 传输层协议—UDP协议
  • 【改造中序遍历】 538. 把二叉搜索树转换为累加树
  • 2022年11月工作经历
  • 使用广播信道的数据链路层
  • 第3章-指标体系与数据可视化-3.1.2-Seaborn绘图库
  • excel中将一个sheet表根据条件分成多个sheet表
  • 案例突破——再探策略模式
  • uboot启动流程-涉及lowlevel_init汇编函数
  • 质数距离 - 如何在较合理的时间复杂度内求2e9范围内的质数
  • 八、3d场景的区域光墙
  • 深入探讨 Presto 中的缓存
  • 3.物联网射频识别,(高频)RFID应用ISO14443-2协议,(校园卡)Mifare S50卡
  • 【IDEA】IDEA 单行注释开头添加空格