axios springboot controller 对应的请求和后端接收
axios使用data传参数,后端使用@requestbody接收data对象。
·
axios使用data传参数,后端使用@requestbody接收data对象
二、@RequestBody
的axios传参方法
java代码部分如下所示,DemoModel类是一个实体类,包含名称tsCode,indexCols,table三个字符串成员变量。接收到的JSON格式参数会自动为demo对象的成员变量赋值。
@PostMapping("/test")
public User getUser(@RequestBody User user){
return userService.findUser(user);
}
@RequestBody
注解,默认接收JSON类型格式的数据。在axios中默认data传参就会默认使用JSON数据格式,所以不用额外的特殊处理。
return request({
url: '/test',
method: 'post',
data: { //注意这里的key是data
id,
name
}
})
后端实体命名不能是cID诸如此类,否则会有bug导致接收不到参数
(1.再实体类上加上注解 @JsonProperty(“”)
2.get()set()方法
原因
经过查资料发现,SpringMVC默认使用jackson解析json,jackson又依赖于实体类的get/set方法,通过lombok生成的方法是
手写
总结
这次的问题可能是因为lombok的生成规则和idea的快捷键生成的get/set方法不太一样
解决办法
1.手写get/set方法
2.使用别名@JsonProperty(“cId”)
3.使用lombok时,避免一个小写字母接一个大写字母这种实体类遵循
4.写代码要规范 遵循驼峰命名
更多推荐
已为社区贡献1条内容
所有评论(0)