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);

相关推荐
霸王大陆1 分钟前
《零基础学 PHP:从入门到实战》模块十:从应用到精通——掌握PHP进阶技术与现代化开发实战-3
开发语言·php
爬山算法2 分钟前
Redis(166)如何使用Redis实现实时统计?
java·redis·bootstrap
better_liang4 分钟前
每日Java面试场景题知识点之-Spring Boot微服务配置管理
java·spring boot·微服务·面试题·配置管理
seven97_top5 分钟前
数据结构——树
java·数据结构
凛冬君主6 分钟前
探索 Spring 的基础依赖与 Spring Boot 依赖
java·spring boot·spring
谷粒.7 分钟前
让缺陷描述更有价值:测试报告编写规范的精髓
java·网络·python·单元测试·自动化·log4j
lkbhua莱克瓦2412 分钟前
IO流——字符集
java·笔记·字符集·字符流
BBB努力学习程序设计18 分钟前
Java包(Package):代码的"组织管理器"
java
czc66625 分钟前
【项目实战】Redis+RabbitMQ+MySQL双阈值批量异步落库设计
java