解决@RequestBody搭配@Data的大坑
@RequestBody搭配@Data的坑
如果用@Data修饰实体类,里面的属性最好不要用连续几个相同字母,如果用千万别用大写。
比如下面这个User类
@Data public class User{ private Integer userId; private String tel; private String QQ; }
如果这样写,你在后台方法用@RequestBody获取到的QQ会变成null
@PostMapping(value = "/addPrivGroup") public String addUser(@RequestBody User user){ return userService.addUser(user); }
如果非要写QQ或者qQ,要么不用@Data自己写getter和setter,要么在对应属性上加上@JsonProperty(value = “QQ”)
主要原因就是spring在接受参数的时候,不知道赋值方法是setQQ还是setqQ,导致赋值为null
@requestbody,json,Date类型转换问题
@requestbody接收json参数 映射到 实体类中 Date(时间日期)类型转换问题
app在传输Date类型数据时,与后台接收有8小时时间差
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date departureTime;
timezone主要解决“8小时”问题
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
使用@RequestBody传对象参数时碰到的坑
目录 @RequestBody传对象参数时碰到的坑 我的真实代码是这样的: 也就是下面的区别: @RequestBody 的正确使用 @RequestBody接收的是一个Json对象 @RequestBody的使用 @RequestBody传对象参数时碰到的坑 工作中需要使用到http接口传一个对象数组,网上找到某博客:springmvc参数为对象,数组 但是测试还是不对,报错: 2019-02-21 23:44:37.168 WARN 34133 --- [nio-7001-exec-6] .
-
解决@RequestBody使用不能class类型匹配的问题
@RequestBody不能class类型匹配 在首次第一次尝试使用@RequestBody注解 开始加载字符串使用post提交(貌似只能post),加Json数据格式传输的时候, data:{"stockCode":"601288","startTime":"2011-11-10 09:05","endTime":"2019-11-20 09:10"}", type: &qu
-
解决@RequestBody部分属性丢失的问题
目录 @RequestBody部分属性丢失 问题描述 JavaBean实现 Controller实现 postman接口请求展示 结论 springboot @RequestBody注入属性为空 对象属性为 我的解决办法 @RequestBody部分属性丢失 问题描述 JavaBean实现 public class VerifyNewFriendApplyReq implements Serializable { /** * 申请ID */ private Long applyId; /** *
-
解读@RequestBody的正确使用方法
本文主要研究的是关于@RequestBody的正确使用方法的相关内容,具体如下. 最近在接收一个要离职同事的工作,接手的项目是用SpringBoot搭建的,其中看到了这样的写法: @RequestMapping("doThis") public String doThis(HttpServletRequest request, @RequestParam("id") Long id, // 用户ID @RequestParam("back_url"
-
解决@RequestBody搭配@Data的大坑
@RequestBody搭配@Data的坑 如果用@Data修饰实体类,里面的属性最好不要用连续几个相同字母,如果用千万别用大写. 比如下面这个User类 @Data public class User{ private Integer userId; private String tel; private String QQ; } 如果这样写,你在后台方法用@RequestBody获取到的QQ会变成null @PostMapping(value = "/addPrivGroup")
-
vue 解决computed修改data数据的问题
最近在做项目的时候遇见一个问题,computed修改data数据的时候会报错.报错的大概意思是,不可以修改data数据的属性值.查了一些答案,最终解决办法是需要用到set和get.看代码: data () { return { fold: false } } 我想修改fold的值,如果不用get和set就会报错!!! computed:{ listShow: { get: function () { if (!this.totalCount) { return false } return th
-
解决@RequestBody接收json对象报错415的问题
@RequestBody接收json对象报错415 前端请求: $.ajax({ url: basePath() + "/index/login.do", type : "post", data: JSON.stringify(form), dataType : "json", contentType : "application/json;charset=utf8", success: function (data) { c
-
解决MySQL Sending data导致查询很慢问题的方法与思路
最近帮忙定位一个mysql查询很慢的问题,定位过程综合各种方法.理论.工具,很有代表性,分享给大家. [问题现象] 使用sphinx支持倒排索引,但sphinx从mysql查询源数据的时候,查询的记录数才几万条,但查询的速度非常慢,大概要4~5分钟左右 [处理过程] 1)explain 首先怀疑索引没有建好,于是使用explain查看查询计划,结果如下: 从explain的结果来看,整个语句的索引设计是没有问题的,除了第一个表因为业务需要进行整表扫描外,其它的表都是通过索引访问 2)show p
-
解决idea中@Data标签getset不起作用的问题
spring cloud中使用@Data标签,不用手动添加get set方法,但是如果项目中其他类中使用getset方法,如果报错,原因是idea中没有添加Lombok插件,添加上插件便可以解决. 截图如下 补充:Intellij IDEA无法使用lombok.@Data不起作用,set和get报错 的解决方法 在编写项目过程中为了方便快捷开发,会使用到lombok.Data的@Data注解,以方便大家不用在实体类中生成set和get方法. 问题: 1.引入了相应的jar包,可以导入包切不报错.
-
解决spring-boot使用logback的大坑
最近在写一个logback的kafka appender,无意中发现spring-boot在使用logback时的一个坑 用ConsoleAppender.java来举例,假设在logback.xml中使用了该appender,那么这个类的相关的初始化方法都会调两次,如start()方法 打断点进行debug,第一次进入start()方法如下: 可以看到所有的调用链(除了自己代码的方法)都是logback或者slf4j相关的比较正常 当跳过该断点时又会进入以此这个方法,看下调用链: 可以看到这次
-
解决SpringMVC使用@RequestBody注解报400错误的问题
一般使用@RequestBody接收的时候报400都是传入的json字符串和对应封装的对象不对应造成的 首先要注意 封装的对象中的字段类型有没有Date类型或者int等类型的,如果有的话,在set方法中统一将传入的参数要调整为String类型 在set方法中进行参数的转换 比如有一个Date类型的字段 private Date startTime; public Date getStartTime() { return startTime; } public void setStartTime(
-
vue data对象重新赋值无效(未更改)的解决方式
vue存在一个比较深的问题就是data中的属性对象如果在初始化的时候为{},那么后面在方法用普通的js语法赋值会无效 这里是data data() { return { model: {} }; } 这里是方法里的普通赋值 afterUpload(response) { this.model.icon = response.url; } 普通方法会无效,需要使用vue提供的方法重新显示声明 afterUpload(response) { this.$set(this.model,'icon',r
随机推荐
- Angular2生命周期钩子函数的详细介绍
- Perl 哈希Hash用法之入门教程
- Java资源缓存 之 LruCache
- java、freemarker保留两位小数
- 理解JS事件循环
- JS实现的打字机效果完整实例
- asp实现计算两个时间内的工作日的函数
- Struts2中Action三种接收参数形式与简单的表单验证功能
- VBS教程:方法-Test 方法
- Bootstrap三种表单布局的使用方法
- var与Javascript变量隐式声明
- java中tomcat的80端口被占用问题解决
- PHP浮点比较大小的方法
- Android编程实现播放MP3功能示例
- Web标准学习资源(书籍、网站)推荐
- php 全局变量范围分析
- 利用boost获取时间并格式化的方法
- Android Studio中配置OpenCV库开发环境的教程
- Android滑动事件冲突的解决方法
- 两端口路由器地址转换的例子