当前位置: 首页 > news >正文

SpringBoot企业级开发之【用户模块-更新用户头像】

功能如下所示:

我们先看一下接口文档:

为什么头像是一串字符串呢?因为我们是将头像图片放到第三方去存储,比如:阿里云等

开发思路:

实操:
 

1.controller

注意!这里使用【@PatchMapping】注解的话,作用是获取的参数值是一个http链接,便于转换

//更换头像(处理HTTP请求)
    @PatchMapping("UpdateAvatar")
    public Result updateAvatar(@RequestParam String avatarUrl) {
        userService.updateAvatar(avatarUrl);
        return Result.success();
    }

2.service接口

3.service实现类

    //更新用户头像
    @Override
    public void updateAvatar(String avatarUrl) {
        //获取id
        Map<String, Object> map = ThreadLocalUtil.get();
        Integer id = (Integer)map.get("id");
        userMapper.updateAvatar(avatarUrl,id);
    }

4.Mapper

  //更新用户头像
    @Update("UPDATE user SET user_pic = #{avatarUrl},update_time = now() WHERE id = #{id}")
    void updateAvatar(String avatarUrl,Integer id);

这里记得头像的地址我是用OSS阿里云去存储的,你们也可以照例

成功结果:

参数校验:

我们头像插进去的不能是任何值,只能是地址:
 

有个注解叫@URL这个注解可以帮我们对传入的参数进行自动校验是否为地址

在controller内注入即可:

 //更换头像(处理HTTP请求)
    @PatchMapping("updateAvatar")
    public Result updateAvatar(@RequestParam @URL String avatarUrl) {
        userService.updateAvatar(avatarUrl);
        return Result.success();
    }

相关文章:

  • 1、从零搭建魔法工坊:React 19 新手村生存指南
  • ai软件UI自动化
  • 解锁语言学习新宝藏:Forvo 网站深度探秘​
  • 【Zabbix7.2修改网页logo和系统名称的方法】
  • 软件信息化项目等级分类评定表
  • Amazon Bedrock Agents:企业 AI 应用开发的革新力量
  • AI数字人如何实时调整互动方式?
  • 【赵渝强老师】TiDB的行存引擎:TiKV
  • 03-libVLC的视频播放器:控制(播放/暂停/停止/拖动条/声音)
  • HackTheBox提速指南:利用VPS与SSH SOCKS代理优化网络体验
  • uniapp中,使用plus.io实现安卓端写入文件
  • 每天学一个 Linux 命令(14):cat
  • 图像预处理-翻转与仿射变换
  • SQL学习--基础语法学习
  • 2025蓝桥杯省赛C/C++研究生组游记
  • 通过uri获取文件路径手机适配
  • 10套关于RoboCup机器人世界杯中国赛-创客AI编程挑战赛的相关题目(由deepseek生成)
  • GGML源码逐行调试(上)
  • Openlayers:flat样式介绍
  • Ubuntu 服务器版本 设置socket服务(Python)
  • wordpress adman/花都网络推广seo公司
  • 建站公司网站建设/英文网站seo
  • 最专业网站建设开发/百度云搜索引擎入口 百度网盘
  • 武汉电脑网站制作公司/百度搜索广告怎么收费
  • 如何上传自己做的网站/竞价推广课程
  • 安徽建设厅网站网址/百度开户需要什么条件