1、发送请求体时
前端
axios 的delete和post,put在传值上有点区别
post和put有三个参数,url,data和config,所以在使用这两个时,可以写成
java
axios.post(api,{
id:1
});
axios.put(api,{
id:1
});
第二个参数{id:1}
会传给data。
但是delete只有两个参数:url和config,data在config中,所以需要写成
java
axios.delete(api,{
data:{
id:1
}
});
后端
需要有对应的javabean类来接收请求体
java
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeleteReq
{
private int id;
}
控制器里用@RequestBody
标记形参
java
@RequestMapping("/delete")
public void delete(@RequestBody DeleteReq deleteReq)
{
// ...
}
2、发送URL时
前端
将data改为params即可,param里的参数会自动拼接在URL中
java
axios.delete("/delete", {
params: { // 请求参数拼接在url上
id: id
}
})
后端
直接用@RequestParam
标记对应的形参
java
@RequestMapping("/delete")
public void delete(@RequestParam int id)
{
// ...
}
参考:
https://blog.csdn.net/qq_42240485/article/details/100515839
https://blog.csdn.net/summerfor2015/article/details/117671023