欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决@RequestBody搭配@Data的大坑

程序员文章站 2022-06-19 15:05:54
@requestbody搭配@data的坑如果用@data修饰实体类,里面的属性最好不要用连续几个相同字母,如果用千万别用大写。比如下面这个user类@datapublic class user{...

@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 @Data