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

相关推荐
平凡但不平庸的码农9 分钟前
Go context 包详解
开发语言·后端·golang
隐士Xbox9 分钟前
c++ 指针的用法
开发语言·c++·计算机视觉
江南十四行14 分钟前
Python元类编程——从type到metaclass的深度探索
开发语言·python
众乐乐_200818 分钟前
PHP 的进程 fork 机制
开发语言·php
yujunl21 分钟前
U9 WCF调试的一个坑
开发语言
漫随流水23 分钟前
创建一个IDEA的Java项目
java·ide·intellij-idea
Hammer_Hans23 分钟前
DFT笔记45
java·jvm·笔记
lly20240623 分钟前
Scala 模式匹配
开发语言
2zcode24 分钟前
基于MATLAB卷积神经网络的多颜色车牌识别系统设计与实现
开发语言·matlab·cnn
无限进步_27 分钟前
【C++】从红黑树到 map 和 set:封装设计与迭代器实现
开发语言·数据结构·数据库·c++·windows·github·visual studio