@RequestBody与RequestParam

@RequestBody
作用:@RequestBody主要是用来接收前端传递给后端json字符串中的数据的(也就是请求体中的数据);比如我们要向通过url给后端数据库增加值,我们就可以直接在含参方法中的参数前面加上一个@RequestBody;在这里插入图片描述
**特别说明:**Get是没有请求体的,所以使用@RequestBody接收数据时,前端是不能用get方式提交数据的,而是用post进行提交;在后端的同一个接收方法里,@RequestBody和@RequestParam是可以同时进行使用的,@RequestBody只能有一个,而@RequestParam可以有很多个,并且@RequestParam指定的参数可以是普通元素、数组、集合、对象等等;
(2)关于同时使用@RequestBody和@RequestParam
1、如果参数是放在请求体中、传入后台的话,那么后台需要使用@RequestBody才能接收到,否则在数据库中就不能完成crud操作;
2、如果不是放在请求体中的话,那么后台接收前台传递过来的数据需要用上@RequestParam,或者是形参前面什么也不写也能正常接收;

这里新添一下刚习得的@RequestParam的用法:
(1)当我们在形参前面不带@RequestParam注解时,参数打印出来为null ;

(2)当我们在形参前面带上@RequestParam注解时,例如:@RequestParam String name,然后我们在url中就可以直接给其赋值,例如:localHost:8080:product/add?name=zjm,之后运行我们就能在页面上展示出我们新添的属性;

(3)倘若在第二点的基础上,我们只给其添加注解,而在url中不给其传参,页面上则会赋值为null;

发布了26 篇原创文章 · 获赞 9 · 访问量 759

猜你喜欢

转载自blog.csdn.net/z19950712/article/details/103924091