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

更新用户头像功能

总说

过程参考黑马程序员SpringBoot3+Vue3全套视频教程,springboot+vue企业级全栈开发从基础、实战到面试一套通关_哔哩哔哩_bilibili

一、算法介绍

存储用户头像,我们实际存放的是图像的访问地址,是个字符串

1.1 controller层

UserController中,添加一个updataAvatar方法

代码如下:

//更新用户头像
    @PatchMapping("/updateAvatar")
    public Result updateAvatar(@RequestParam String avatar)  { //传入要更新的图片地址
        userService.updateAvatar(avatar);
        return Result.success(avatar);
    }

1.2 service层

UserService中,添加代码如下:

//更新用户头像
void updateAvatar(String avatar);

1.3 Impl层

UserServiceImpl中,我们需要再找到用户id传到mapper层

添加代码如下:

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

1.4 Mapper层

UserMapper中,用now获取现在的时间

添加代码如下:

@Update("update user set user_pic=#{avatarUrl},update_time=now() where id=#{id}")
void updateAvatar(String avatarUrl, Integer id);

1.5 测试接口

启动项目,打开apifox

创建一个新接口 更新用户头像

找一个图像地址,比如https://img.51miz.com/Element/00/88/60/42/3cb805be_E886042_a75650be.png

如图:

1.6参数校验

但是我们还是没有进行参数检验,如果不是图片格式也能更新进去

那我们如何进行参数校验?

只需要在UserController传入参数时加一个注解即可

我们再测试一下

上传git


http://www.kler.cn/a/472290.html

相关文章:

  • [离线数仓] 总结二、Hive数仓分层开发
  • Eclipse配置Tomcat服务器(最全图文详解)
  • 打开idea开发软件停留在加载弹出框页面进不去
  • Pytorch初学
  • 嵌入式ARM平台 openwrt系统下 基于FFmpeg 的视频采集及推流 实践
  • 代码随想录day38 动态规划6
  • 力扣1047. 删除字符串中所有相邻重复项
  • 数值分析速成复习笔记
  • vue.js 插槽-具名插槽
  • 如何处理京东商品详情接口返回的JSON数据中的缺失值?
  • 25/1/6 算法笔记<强化学习> 初玩V-REP
  • GPU算力平台的应用之任意门:任意穿搭匹配模型的应用教程
  • 晨辉面试抽签和评分管理系统之三:考生批量抽签
  • Java SE 与 Java EE 简介
  • vue3 react使用高德离线地图
  • linux MySQL 实时性能监控工具
  • TCP实验报告
  • 【Uniapp-Vue3】scroll-view可滚动视图区域组件
  • 使用U盘制作CentOS 7.9启动盘的详细步骤
  • Java大厂面试题之10种分布式ID的生成方案
  • C++编程进阶:标准库中的迭代器库解析
  • 【微服务】7、分布式事务
  • 第一个Spring MVC 6入门示例
  • 阿里云DDoS防护:如何更换IP地址,保护您的云服务器
  • 复习打卡大数据篇——HIVE 02
  • Wi-Fi Direct (P2P)原理及功能介绍