前言:
开发时准守规范开发是真的重要,要不一个命名不规则,就会埋下小小的坑。这篇博客就是说下@Data对类似sName属性不起作用的情况,和暂时的解决方案!
正文:
一、复现问题
1.实体类
@Data
public class Student {
private String sName;
}
2.controller层代码(注意在controller上加@RestController注解
@RequestMapping("/testStudent")
public Student testStudent(@RequestBody Student student){
return student;
}
3.postman请求的例子:
4.请求的结果:
二、解决方案
1.给相应的类加上get和set方法,这里注意啊正常的应该是get和set后面是大写,但是这里因为我们命名时第一个单词不是单词而是一个字母才导致现在的情况。
@Data
public class Student {
private String sName;
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
}
改完后在测试一下结果就可以啦:
正规的命名例子:
@Data
public class Student {
private String studentName;
}
总结:
我是阿达,一名喜欢分享知识的程序员,时不时的也会荒腔走板的聊一聊电影、电视剧、音乐、漫画,这里已经有3266位小伙伴在等你们啦,感兴趣的就赶紧来点击关注我把,哪里有不明白或有不同观点的地方欢迎留言!