【小bug】springMVC通过json传参无法解析参数

news2025/1/9 6:04:40

0.问题描述

通过postman测试使用json传参的时候,发现不论怎么修改,都无法获取参数,解析对象。

反复检查请求url,请求内容均为正常。

以下是postman测试结果:

日志提示无法解析参数,内容如下:

以下具体说明实体类,控制类。

1. 实体类

@Data
public class Person {
    private String id;
    private String name;
    private int age;

    public Person(String id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }
}

2. 控制类

@RestController
public class Person2Controller {
    //传入的参数为json
    @PostMapping ("/person4")
    public Person person4(@RequestBody Person person){
        person.setAge(person.getAge()+1);
        return person;
    }
}

3. 解决

根据日志提示,发现实体类中缺少了无参的构造方法,导致无法构造 Person 类的实例,无法从对象值反序列化,因为没有委托或基于属性的创建器。

4. 小结:实体类缺少无参构造方法可能存在的问题

1. JSON 反序列化失败

        当使用 Jackson 或其他 JSON 解析库将 JSON 数据反序列化为 Person 对象时,如果没有无参构造方法,解析库将无法创建 Person 对象,从而导致反序列化失败。

2. 框架依赖

        当使用 Jackson 或其他 JSON 解析库将 JSON 数据反序列化为 Person 对象时,如果没有无参构造方法,解析库将无法创建 Person 对象,从而导致反序列化失败。

3. 反射机制

        在使用反射机制创建对象实例时,如果没有无参构造方法,反射机制将无法创建对象实例,从而导致运行时错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2040712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C# VideoCapture 多路视频播放

目录 效果 项目 代码 下载 效果 C#VideoCapture多路视频播放 项目 代码 using OpenCvSharp; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Diagnostics; using System.Threading; using System.Threading.Tasks…

MS5046T/5047T/5048T/5048N_2kSPS、16bit Σ-Δ ADC

MS5046T/MS5047T/MS5048T/MS5048N 是适合高精 度、低成本测量应用的 16bit 模数转换器。其内部集成低 噪声可编程增益放大器、高精度 Δ-Σ 模数转换器和内部振 荡器。 MS5047T 、 MS5048T 、 MS5048N 内部还集成低温 漂基准和两路匹配的可编程电流源。 MS5048T/MS50…

计算机毕业设计 健身房管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

springboot考勤管理系统代码调试讲解论文

2 相关技术 2.1 MySQL数据库 该研究和开发的应用程序在数据操作中难以预料,有时候甚至发生改变。没办法直接从Word中写数据和信息,这不但不安全的,并且难以实现应用程序的功效。要实现所需要的文档存储作用,请尽快选择专业数据存…

【JPCS独立出版,EI稳定检索】2024年工业机器人与先进制造技术国际学术会议(IRAMT 2024,9月27-29)

2024年工业机器人与先进制造技术国际学术会议(IRAMT 2024)将于2024年9月27-29日在中国成都举办。 此次会议将围绕工业机器人、机电技术、机械及制造等领域的最新研究成果展开讨论,并广泛邀请了国内外领域内的著名专家与学者。会议旨在搭建一个…

Vision Transformer学习笔记

论文链接:https://arxiv.org/abs/2010.11929 项目链接:https://github.com/google-research/vision_transformer 本文代码链接:https://gitcode.com/gh_mirrors/de/deep-learning-for-image-processing/tree/master/pytorch_classification/v…

MS2350M/MS2350D——RF 检测器/控制器

MS2350M/MS2350D 是一款对数放大器芯片,相比 MS2351M/MS2351D ,它的应用频率范围的下限可低至 4MHz 。主要用于接收信号强度指示 (RSSI) 与功率放大器 控制,工作频率范围是 4MHz  3000MHz ,动态范围约 40dB 。 MS2350M/M…

【Qt】QWidget的windowIcon属性

QWidget的windowIcon属性 windowIcon表示窗口的图标 当我们使用默认的windowIcon的时候,其窗口的图标如下: API说明 windowIcon() 获取到控件的窗⼝图标. 返回 QIcon 对象. setWindowIcon(const QIcon& icon) 设置控件的窗⼝图标. 在Qt中&…

CTFHUB-SQL注入-过滤空格

目录 查询数据库名 查询数据库中的表 查询表中字段 查询表中数据 空格被过滤,使用 /**/ 绕过 查询数据库名 -1/**/union/**/select/**/1,database() 查询数据库中的表 -1/**/union/**/select/**/1,group_concat(table_name)/**/from/**/information_schema.t…

多分类实战:一文掌握 One-vs-All 策略

引言 在机器学习领域,分类问题是常见的任务之一。当我们面对的问题不仅限于两类分类(如正例和反例),而是需要处理多个类别时,就会遇到多类分类问题。例如,在手写数字识别中,我们需要将输入图像…

Linux 之 shell指令个人解析

1.echo 类似printf 都是在屏幕上显示字符 2.$ 可以在引用变量时使用 3.read 可以读取你输入的字符,有八个属性 -p可以让读取的东西赋值为变量 4.加减乘除等算法的应用 要用到$(( 算式 )) 注:total等于号不能空开,一空开就错误 5.te…

Java读写EM4305卡、将4305卡制做成4100ID卡

EM4305/EM4205卡是采用瑞士EM微电子公司工作频率为125kHz,具有读、写功能的非接触式RFID射频芯片,它具有功耗低、可提供多种数据传输速率和数据编码方法等特点,适合射频芯片ISO 11784/11785规范,该芯片被广泛应用于动物识别和跟踪…

传智教育引通义灵码进课堂,为技术人才教育学习提效

7 月 17 日,阿里云与传智教育在阿里巴巴云谷园区签署合作协议,双方将基于阿里云智能编程助手通义灵码在课程共建、品牌合作及产教融合等多个领域展开合作,共同推进 AI 教育及相关业务的发展,致力于培养适应未来社会需求的高素质技…

PyTorch之loading fbgemm.dll异常的解决办法

前言 PyTorch是一个深度学习框架,当我们在本地调试大模型时,可能会选用并安装它,目前已更新至2.4版本。 一、安装必备 1. window 学习或开发阶段,我们通常在window环境下进行,因此需满足以下条件: Windo…

tkinter绘制组件(43)——对话框

tkinter绘制组件(43)——对话框 引言布局窗口初始化对话框类型弹窗显示和窗口冻结内容返回信息提示输入对话框 函数封装 效果测试代码最终效果 github项目pip下载结语 引言 严格来说,对话框是控件的组合,不是一个控件&#xff0c…

AI菜鸟向前飞 — OpenAI Assistant API 原理以及核心结构(二)

AI菜鸟向前飞 — OpenAI Assistant API 原理以及核心结构(一) 使用Assistant API 如何去实现一个自定义“Tool” 依然是三步走,是不是很像?与LangChain定义的方式基本一致,请回看 AI菜鸟向前飞 — LangChain系列之十三…

详细分析SQL Server触发器的基本知识

目录 前言1. 基本知识2. Demo3. 查找特定表的存储过程 前言 原先写过一篇类似的,不过是基于Mysql:添加链接描述 对应Sql Server的补充知识点:详细配置SQL Server的链接服务器(图文操作Mysql数据库) 1. 基本知识 基…

JVM虚拟机(一)介绍、JVM内存模型、JAVA内存模型,堆区、虚拟机栈、本地方法栈、方法区、常量池

目录 学习JVM有什么用、为什么要学JVM? JVM是什么呢? 优点一:一次编写,到处运行。(Write Once, Run Anywhere,WORA) 优点二:自动内存管理,垃圾回收机制。 优点三&am…

IOS 03 纯代码封装自定义View控件

本节将通过纯代码进行封装自定义View控件,以常用的设置页的item为例,实现UI效果如下: 1、创建SettingView继承自UIView import UIKitclass SettingView: UIView {} 2、重写 init() 和 required init?(coder: NSCoder) 方法 纯代码创建Set…

仿RabbitMq实现消息队列正式篇(虚拟机篇)

TOC目录 虚拟机模块 要管理的数据 要管理的操作 消息管理模块 要管理的数据 消息信息 消息主体 消息的管理 管理方法 管理数据 管理操作 队列消息管理 交换机数据管理 要管理的数据 要管理的操作 代码展示 队列数据管理 要管理的数据 要管理的操作 代码展示…