您的位置:首页 > 新闻 > 资讯 > 【小bug】springMVC通过json传参无法解析参数

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

2024/10/14 17:17:31 来源:https://blog.csdn.net/BlackPudding_/article/details/141190634  浏览:    关键词:【小bug】springMVC通过json传参无法解析参数

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. 反射机制

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com