1.@RequestParam 接收
1.1 前台html
其实就是一个form表单:如图action的url是controller中的@requestmapping,效果图如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ae4d9eeb6412916b40cf05719f92df05.gif#pic_center)
1.2 后台
controller通过@RequestParam接收前台参数,可以看到点击登录后,url后直接拼接了参数,如果传参比较少的话用这种方法还好,如果参数较多就不适合了,,我们填入数据点击登录如图:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/cd16d2f1b4b4b2a4208ed38183e699d6.gif#pic_center)
1.3 总结
可以看到是可以接收到参数的,这是html form表单提交的,前台参数传递,大家常用的还是ajax-json数据传递,下面来介绍:
2.@RequestBody 接收
2.1. Map接收
前台html:
只是将form表单去掉,登录按钮添加一个点击事件而已,如图:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/453ee5ac01bf4a165189bdab4f4a85e4.gif#pic_center)
后台接收参数(map接收的都是对象,需要转换):如图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/acb11e4906194fd184eaf01964d319cd.gif#pic_center)
2.2. 对象接收
前台html和map接收一样:
直接看后台接收参数:如图:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3a543cfc3fcbef9b8fe2443a6581bc9e.gif#pic_center)
2.3 总结
//最好都用对象来接收,可以这样传递参数时,只需要在对象中添加一个get,set方法就可以了。提供一下ajax样板:
var data={'username':username,'password':password};
$.ajax({
type: 'POST',
url: "../user/login",
dataType: "json",
data: JSON.stringify(data),
contentType : "application/json",
success: function(data) {
console.log(data)
}
})