前端使用 AJAX 的 post 方式请求时,需要对请求参数做序列化处理,否则 SpringMVC 无法接收提交参数。
//使用qs模块中的stringify方法实现post提交时的参数序列化
this.$axios.post('http://localhost:8080/hello', this.$qs.stringify(user))...
在 SpringBoot 中,可以使用 @RequestBody 注解,在服务器端实现 post 提交时的参数序列化处理。这样,前端的 post 请求就可以直接提交 json 对象了。
@RequestMapping("/hello")
//在参数前使用@RequestBody注解
public String say(@RequestBody User user) {
System.out.println(user);
return "hello...";
}
在学springcloud也遇到了这个情况
80端口调用8001端口的插入数据方法的时候,传的是一个payment对象,结果插入成功值却为null。
在里面加上@RequestBody注解
调用方法:
最后查看数据库,显示已经成功插入了