前后端分离------后端创建笔记(10)用户修改

news2024/12/27 11:55:33

本文章转载于【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客

仅用于学习和讨论,如有侵权请联系

源码:https://gitee.com/green_vegetables/x-admin-project.git
素材:https://pan.baidu.com/s/1ZZ8c-kRPUxY6FWzsoOOjtA 提取码:up4c
项目概述笔记:https://blog.csdn.net/m0_37613503/article/details/128961102
数据库笔记:https://blog.csdn.net/m0_37613503/article/details/128961401
前端笔记:https://blog.csdn.net/m0_37613503/article/details/128961447
后端笔记:https://blog.csdn.net/m0_37613503/article/details/128961569

1、新增一个修改操作功能 

2、我们找到后端的控制器里面

3、修改的请求是put请求,给他改一下方法名:updateUser

4、注意修改的情况我是不需要修改密码的,你可以在个人信息界面这里给他弄一个密码修改的内容

5、这里给他写一个null

5.1 这个方法给他改过来,把user给他传过来

6、修改接口就写好了

7、来到前端我们要怎么办呢!一个是修改,一个是删除,加两个按钮

8、点击修改按钮后可以弹出一个对话框

9、实际上我们就是重用这个新增的对话框

10、这里要改成修改按钮 

10.1

11、修改的核心在于能够根据id,将这里面数据给查到 

12、我们通过get请求,带个(“/{id}”)过来,通过id可以查到单个的用户数据

13 里面放user就好了

13.1 我们需要拿到那个id,通过PathVariable注解去拿到id 

14、我们那个id   Integer id

15、userService里面有个getById方法

16、把User返回给他,我们后端接口就返回给他了,这样后端接口就写好了

17、现在我们返回前端,写两个按钮

18、回到框架官网,直接拿来用就行

19、找到修改按钮,给他复制一下

20、找到我们user.vue里,来到我们的操作类里 

21、注意你在使用框架的时候,你不能直接写到哪里,复制框架代码之前先写一个template

22 再写一个作用域插槽

22.1 再添加一个删除的作用域插槽

23、我们目前的效果

24、如果你觉得这里的icon图标太大,那么你可以让他变的大一点,添加size,可以使icon图标变小

25、点编辑按钮,能够出来对话框 

26、我们后端的接口已经定义好了,所以我们现在要来到

userManger.js中把后端给定义好 

26.1

27 写一个新的方法,传一个id,拼接一个id

28、路径的一种更好的写法,用左上角的波浪符号,这里可以用美元符号,引用id

29、遇到复杂拼接,就不会显得那么凌乱

29.1 这里不需要携带什么数据,因此将数据给删掉

30 再添加一个修改,这里方式改成put

31、弄好之后,回到我们Vue文件

32、我们之前绑定了一个方法,但是如果绑定了这个方法,那么点击修改的按钮和+的按钮没有什么区别,我们想要他有区别,因此我想传入一个id

33、我们怎么取这个id,就取当前行这个id

34、上面新增我们也给他传入一个值,这样比较容易做判断

35、现在回到我们之前写的方法,我们可以做改动

36、我们要做个判断,新增

37 根据id查询用户

37.1 刚才前面已经写好了,工作,这里用getUserById方法查询id

38、这里把数据扔给他就行

38.1 他要返回我们的数据

39 现在数据修改看一下效果,修改已经能够全部展示了

40、因为我不想修改密码,这里我将密码注释掉 

41、userForm.id 这里我们要做一个判断,满足这些条件就意味着我们在做新增

42、回到我们接口,这里接口意味着我们的字段是不会更新

43、默认你传入的字段为空,是不会更新的

44、修改没密码了

45、但现在仍然暴露了一个问题,新增按钮,如果提交,数据库里还会多一条数据,因为目前方法是共享,会调用这个方法,此时这里应该加一个判断

46、我这里想在userManger.js中新增一个方法,后期在Vue中调方法就行

47、在这里写一个方法就行

48、如果判断为null我就做新增的处理

49、代码写到这个地方,代码显得更加精简

50、其他方法不用动,这里改成save就好了

51、看一下修改结果,修改模块成功

, 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/882337.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(二)结构型模式:4、组合模式(Composite Pattern)(C++实例)

目录 1、组合模式(Composite Pattern)含义 2、组合模式应用场景 3、组合模式的优缺点 4、组合模式的UML图学习 5、C实现组合模式的简单示例(公司的OA系统) 1、组合模式(Composite Pattern)含义 组合模…

短剧cps分销系统源码搭建 短剧cps系统开发 短剧项目怎么做

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、短剧是什么?二、短剧项目怎么做?三、总结 前言 短剧分销系统: 对接他人短剧小程序片源,仅推广分销。用户看…

Docker基础概述

目录 ​编辑 一、Docker简介 二、 Docker与虚拟机的区别 1.1namespace的六项隔离 二、Docker核心概念 2.1镜像 2.2容器 2.3仓库 三、安装Docker 3.1查看 docker 版本信息 四、Docker 镜像操作 4.1搜索镜像 4.2获取镜像 4.3镜像加速下载 4.4查看镜像信息 4.5根据…

FL Studio 2023年正式更新到发布21.1新版!功能介绍

很高兴地宣布在去年12月发布重大版本更新后,FL Studio在2023年8月正式更新到21.1版。本次更新虽然只是维护性质,但我们还是为大家带来了一些全新的功能,包括通过钢琴卷中的音阶捕捉和自定义音符工具,引入更快、更有创意的音符编辑…

救生艇(力扣)贪心 JAVA

给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 示例 1: 输入&#xff…

ssm实验室耗材管理系统源码和论文

ssm实验室耗材管理系统源码和论文023 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让…

交叉编译基本概念

1 什么是交叉编译 1.1 本地编译 在解释什么是交叉编译之前,要先明白什么是本地编译。 本地编译可以理解为,在当前编译平台下,编译出来的程序只能放到当前的平台下运行,平时我们常见的软件开发都是属于本地编译。 比如我们在X8…

C++11并发与多线程笔记(2)

C11并发与多线程笔记(2) 线程启动、结束,创建线程多法、join,detach 1. 范例演示线程运行的开始1.1 创建一个线程:1.2 join1.3 datch1.4 joinable 2. 其他创建线程的方法2.1 用类 重载了函数调用运算符2.2 lambda表达式…

Visual Studio 2022连接远程系统进行C/C++开发

Visual Studio被称为是宇宙最强IDE,以前开发Linux C/C服务器程序,基本上都是在Windows上使用VS编写跨平台的C/C代码,然后先在VS中编译、链接、调试,然后在Linux下编译、链接,再针对Linux下的特定代码进行调试。后面Vis…

【日常积累】Linux之screen命令使用

使用场景 大家可能遇到这样的情况,当我们使用终端连接工具如xshell连接到一台服务器时,当执行一个花费时间比较长的命令时,如cp,scp或者其他时,当xshell由于某种原因突然断掉后在连上服务器时,之前执行的命…

我国农机自动驾驶系统需求日益增长,北斗系统赋能精准农业

中国现代农业的发展,离不开智能化、自动化设备,迫切需要自动驾驶系统与农用机械的密切结合。自动驾驶农机不仅能够缓解劳动力短缺问题,提升劳作生产效率,同时还能对农业进行智慧化升级,成为解决当下农业痛点的有效手段…

04 qt功能类、对话框类和文件操作

一 QT中时间和日期 时间 ---- QTime日期 ---- QDate对于Qt而言,在实际的开发过程中, 1)开发者可能知道所要使用的类 ---- >帮助手册 —>索引 -->直接输入类名进行查找 2)开发者可能不知道所要使用的类,只知道开发需求文档 ----> 帮助 手册,按下图操作: 1 …

docker私有仓库harbor

一、安装docker-compose yum install docker-compose -y 二、下载harbor安装包 tar -xf harbor-online-installer-v2.1.0.tgz cp harbor.yml.tmpl harbor.yml 三、修改harbor配置 [rootharbor ~]# vim harbor.ymlhostname: "修改为本机ip" harboradminpassword:…

vue 获取设备指纹

import Fingerprint2 from fingerprintjs2 // async 异步请求 async getFingerprint () {return new Promise((resolve, reject) > {Fingerprint2.getV18({}, (result, components) > {resolve(result)})})}, // 获取用户sessionasync getSession () {/* 等待获取设备指纹…

【c语言】动态内存管理(超详细)

他治愈了身边所有人,唯独没有治愈他自己—超脱 csdn上的朋友你们好呀!!今天给大家分享的是动态内存管理 👀为什么存在动态内存分配 我们定义的局部变量在栈区创建 int n 4;//在栈上开辟4个字节大小int arr[10] { 0 };//在栈上开…

IT项目管理vs服务管理

如何通过IT项目管理来增强服务台运营呢? 我们知道许多人已经有了一个单独的项目管理工具来管理自己的 IT,并认为自己在服务台中不需要项目管理模块。首先,IT项目管理模块可能看起来与您设置中已有的常规工具没有什么不同,但肯定有…

2022年3月全国计算机等级考试真题(二级C语言)

2022年3月全国计算机等级考试真题(二级C语言) 第1题 下列有关栈论述正确的是( ) A. 栈顶元素最先能被删除 B. 栈顶元素最后才被删除 C. 栈底元素永远不能被删除 D. 以上三种说法都不对 正确答案:A 得 0 / 1 分 第2题…

react-vite-antd环境下新建项目

vite 创建一个react项目 1. 安装vite并创建一个react项目1. 我使用的 yarn安装,基本配置项目名字, 框架react ,js2. cd vite-react进入项目目录安装node包并启动项目 2. 安装引入Ant Design引入依赖(我用的yarn,没有安装的也可以使…

微软商店的ubuntu 连不上网Temporary failure in name resolution

背景:win10 下载docker时需要wsl2,下了个微软商店的Ubuntu 。写这篇文章的原因是当时查了资料ubuntu的问题和微软下载的Ubuntu还是有一些区别,问题不好解决,故写此文。 问题:用命令ifconfig eth0 down后再执行ifconfi…

WSL ubuntu 20.04 安装python3

WSL ubuntu 20.04 安装python3 直接通过命令行安装python sudo apt-get install python3 在/usr/bin目录下查看所有python版本 同时需要在系统路径中加入软链接,将默认的python定向到python3上: sudo ln -s /usr/bin/python3.6 /usr/bin/python