亲宝软件园·资讯

展开

@RequestBody注解踩坑

学不会的小六子 人气:3

@RequestBody注解踩坑

@RequestBody json注入Bean属性为空

1、接收JSON数据注入到Bean中,必须要加RuquestBody注解

2、判断属性名称字段是否相同

3、spring 默认不为首字母大写的JavaBean进行赋值操作,若首字母大写进行赋值操作需加入@JsonProperty(value=“AlarmTime”)注解

注:JavaBean规范 属性的首字母小写,驼峰命名:以小写字母开头,每个单词首字母大写

4、首字母大写无法赋值,修改Bean属性为Public同样可以解决问题(不建议此方案解决)

例:

具体操作亲试

@RequestBody注解的一些注意事项

1.@RequestBody注解用来获取请求体中的数据,直接使用得到的是key=value&key=value…结构的数据,因此get方式不适用(get方式下@RequestBody获取不到任何数据)。

例:

public void test1(@RequestBody String body){
    system.out.println(body);
}

输出结果:

username=hehe&age=20

2.使用@RequestBody注解后,可以在方法中创建一个集合对象,前端提交的集合数据可以直接被注入到方法的集合对象中,而不需要创建一个pojo对象进行集合的封装。

3.如果想要将前端提交的json字符串自动封装到一个对象中,需要导入jackson的相关jar包,并使用@RequestBody注解。

注:springmvc默认使用MappingJacksonHttpMessageConverter对json数据进行转换。

4.使用@RequestBody 前后端参数要匹配个数不能少。字段名字要一样。 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论