Springboot更新用户头像

Springboot更新用户头像_第1张图片Springboot更新用户头像_第2张图片Springboot更新用户头像_第3张图片

人们通常(为徒省事)把一个包含了修改后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 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);

Springboot更新用户头像_第4张图片Springboot更新用户头像_第5张图片

你可能感兴趣的:(springboot+vue,java,spring,开发语言,spring,boot)