赞
踩
人们通常(为徒省事)把一个包含了修改后userName的完整userInfo对象传给后端,做完整更新。但仔细想想,这种做法感觉有点二,而且浪费带宽。
于是patch诞生,只传一个userName到指定资源去,表示该请求是一个局部更新,后端仅更新接收到的字段。
UserController
- @PatchMapping("/updateAvatar")
- public Result updateAvatar(@RequestParam @URL String avatarUrl){
- userService.updateAvatar(avatarUrl);
- return Result.success();
- }
UserService
- //更新头像
- void updateAvatar(String avatarUrl);
UserServiceImpl
- @Override
- public void updateAvatar(String avatarUrl) {
- Map<String,Object> map = ThreadLocalUtil.get();
- Integer id = (Integer) map.get("id");
- userMapper.updateAvatar(avatarUrl,id);
- }
UserMapper
- //更新用户头像信息
- @Update("update user set user_pic=#{avatarUrl},update_time=now() where id = #{id}")
- void updateAvatar(String avatarUrl,Integer id);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。