springMVC中的@RequestBody和@ResponseBody以及@RequestParam
@ReqeustBody:
常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,
好比:application/json或者是application/xml等,常常用来其来处理application/json类型
注意:@requestBody接收的是前端传过来的json字符串,而不是对象
@ResponseBody:
用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端.
注意:不一定只能传递字符串,若有对应的java类,springMVC会自动帮忙转换成符合要求的数据格式(json/xml)
测试:前端数据使用postMan来传递,后端使用springMVC框架返回数据给前端
后端controller代码:
@RequestMapping(value = "/Today_Login",method = RequestMethod.POST)
@ResponseBody
public User Today_login(@RequestBody String jsonStr){
System.out.println(jsonStr); //一般需要用gson方式来解析json字符串,在本人博客的json分类中有介绍
User user=new User();
user.setUsername("kylin");
user.setPassword("123456");
return user;
}
前端postMan传送数据:
1.需要在Headers中设置Content-Type为application/json
2.在Body中选择raw,并且填写正确的json数据
测试结果:
web后端部分:
postMan前端部分:
关于@RequestParam的介绍,在网上发现了一篇很好的博客https://www.cnblogs.com/silentdoer/archive/2017/08/31/7459395.html