Springboot和Vue的多个请求写在一个接收请求的方法里
最近在做一个Springboot和Vue前后端分离的增删改查案例当中,发现了一个巧妙的方法实现多个请求写在一个接收请求的方法里,并且使用同一个表单。过程是这样的:
-
首先呢,表单的构建,输入基本信息
-
这里是共用的代码(因为前段发送的是post请求方式,因此使用@ReuqestBody接收参数)
原理
:当保存用户的时候,因为没有id,所以id为空。当修改时,由于在保存的service层添加了随机的id,因此当保存完之后,就会生成id,下次进行修改的时候,id就不为空,利用这一点,完成两个业务方法
//保存和修改用户
@PostMapping("/save")
public Map<String,Object> save(@RequestBody User user) {
Map<String, Object> map=new HashMap<>();
try{
if(StringUtils.isNullOrEmpty(user.getId())){
service.save(user);
}else {
service.updateUser(user);
}
map.put("success",true);
}catch (Exception e){
map.put("success",false);
map.put("message","用户保存或更新失败");
}
return map;
}
service设置id的方法:
user.setId(UUID.randomUUID().toString());