Springboot更新用户头像

人们通常(为徒省事)把一个包含了修改后userName的完整userInfo对象传给后端,做完整更新。但仔细想想,这种做法感觉有点二,而且浪费带宽。

于是patch诞生,只传一个userName到指定资源去,表示该请求是一个局部更新,后端仅更新接收到的字段。

UserController

java 复制代码
    @PatchMapping("/updateAvatar")
    public Result updateAvatar(@RequestParam @URL String avatarUrl){
        userService.updateAvatar(avatarUrl);
        return Result.success();
    }

UserService

java 复制代码
    //更新头像
    void updateAvatar(String avatarUrl);

UserServiceImpl

java 复制代码
    @Override
    public void updateAvatar(String avatarUrl) {
        Map<String,Object> map = ThreadLocalUtil.get();
        Integer id = (Integer) map.get("id");
        userMapper.updateAvatar(avatarUrl,id);
    }

UserMapper

java 复制代码
    //更新用户头像信息
    @Update("update user set user_pic=#{avatarUrl},update_time=now() where id = #{id}")
    void updateAvatar(String avatarUrl,Integer id);

相关推荐
shehuiyuelaiyuehao2 小时前
1计算机是如何工作的
java·计算机网络
letisgo53 小时前
JAVA 高级进阶07篇《@Transactional失效的8个场景:代理机制到传播行为》
java·面试·transactional·spring事务·aop动态代理
水域安全老周3 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
新时代牛马3 小时前
cyclictest 毛刺从哪来?从ftrace、latencytop、perf到IRQ/调度延迟定位
android·开发语言·python·kotlin
三8443 小时前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
IvanCodes4 小时前
Python 基础语法(七):推导式与常见遍历写法
开发语言·python
暮雨哀尘4 小时前
Java 基础练习(一):创建类并调用对象
java·开发语言
想要入门的程序猿4 小时前
回调函数学习
java·网络·学习
EatFan4 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app
zhangzeyuaaa4 小时前
Python requests:raise_for_status() 与 4xx/5xx 异常层次详解
开发语言·python