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

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

本文章转载于【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、看一下修改结果,修改模块成功

, 

相关文章:

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

本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…...

K8S系列文章之 Docker安装使用Kafka

通过Docker拉取镜像的方式进行安装 照例先去DockerHub找一下镜像源,看下官方提供的基本操作(大部分时候官方教程比网上的要清晰一些,并且大部分教程可能也是翻译的官方的操作步骤,所以直接看官方的就行) 老实说Kafka…...

js如何获取字符串大小是几M

js如何获取字符串大小是几M 在JavaScript中,可以使用以下方法来获取字符串的大小(以字节为单位): function getStringSizeInBytes(str) {// 使用UTF-8编码计算字符串的字节长度let totalBytes new Blob([str]).size;// 将字节长…...

服务器托管中1U是什么意思?

U的概念 U是一种表示服务器外部尺寸的单位,是unit的缩略语。 1U4.44514.445cm 2U4.44528.89cm 4U4.445*413.335cm 在托管服务器时,服务商经常说的“1U”是外形满足EIA(美国电子工业协会)规格、厚度为4.445cm的产品,设…...

Golang自定义类型与类型别名

type myInt int32 与 type myInt int32,概念并不相同 自定义类型:type myInt int32 通过这种方式定义的类型是一个全新的类型,这个新类型与int32有相同的底层结构,但是却与int32类型不兼容。 type myInt int32var a int32 5 var…...

golang环境搭建

1. 下载、安装 wget -O go.tar.gz https://golang.google.cn/dl/go1.21.0.linux-amd64.tar.gz sudo rm -rf /usr/local/go && sudo tar -zxvf go.tar.gz -C /usr/local2.创建工作目录 cd mkdir -p go/{bin,pkg,src}3.添加环境变量 sudo vim /etc/profile写入以下…...

一套优质的MES系统,应该具备哪些特质?

企业如何在众多的MES系统中,选择最合适自己的产品呢?也就是说,一套优质的MES,因该具备哪些特质呢?下面有SAP代理商哲讯智能科技详细介绍: 随着经济全球化趋势不断加强以及中美贸易战的愈演愈烈,…...

常见的路由协议之RIP协议与OSPF协议

目录 RIP OSPF 洪泛和广播的区别 路由协议是用于在网络中确定最佳路径的一组规则。它们主要用于在路由器之间交换路由信息,以便找到从源到目标的最佳路径。 常见的路由协议: RIP (Routing Information Protocol):RIP 是一种基于距离向量算…...

使用ip2region获取客户端地区

目录 从gitee拉取ip2region.xdb资源文件 写测试类 注意要写对资源路径 本地测试结果 ​编辑 远端测试结果 从gitee拉取ip2region.xdb资源文件 git clone https://gitee.com/lionsoul/ip2region.git 将xdb放入resources资源文件夹 引入依赖 <dependency><groupId&…...

RH850从0搭建Autosar开发环境【24】- Davinci Configurator之DEM模块配置详解(上)

DEM模块配置详解 - 上 一、Autosar中DEM模块简介1.DEM对其他模块的依赖2.DEM模块架构2.1 DEM模块Dem Satellite(s) 和Master2.2 诊断事件处理2.2.1 基于计数器的算法2.2.2 基于时间的算法三、配置错误项处理3.1 容器DemEventParameter3.2 容器DemOperationCycleRef3.3 容器DemO…...

uniapp封装接口

uniapp封装接口 在本篇技术博文中&#xff0c;我们将深入探讨 Uniapp 框架中如何封装接口&#xff0c;以简化开发流程并提高效率。接口封装是一种重要的开发策略&#xff0c;它不仅可以减少代码量&#xff0c;还能提高代码的复用性和维护性。 通过阅读本文&#xff0c;你将深…...

Android布局【TableLayout】

文章目录 说明常见属性子控件设置属性 项目结构主要代码 说明 TableLayout也称为表格布局 常见属性 android:collapseColumns&#xff1a;设置需要被隐藏的列的序列号&#xff0c;从0开始android:stretchColumns&#xff1a;设置允许被拉伸的列的列序号&#xff0c;从0开始&…...

C/C++中static关键字详解

静态变量作用范围在一个文件内&#xff0c;程序开始时分配空间&#xff0c;结束时释放空间&#xff0c;默认初始化为0&#xff0c;使用时可以改变其值。 静态变量或静态函数只有本文件内的代码才能访问它&#xff0c;它的名字在其它文件中不可见。用法1&#xff1a;函数内部声明…...

Memory Analyzer(MAT)分析内存

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览三、 使用3.1 hprof 文件准备3.1.1 Android sutdi…...

计算机网络面试题

目录 OSI 的五层模型分别是&#xff1f;各自的功能是什么&#xff1f; 应用层 传输层 网络层 数据链路层 物理层 OSI 的七层模型分别是&#xff1f; TCP连接的建立 三次握手中客户端和服务端是什么状态 为什么是三次&#xff0c;不是两次&#xff1f; 四次…...

【LeetCode75】第三十题 奇偶链表

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个链表&#xff0c;让我们把奇索引和偶索引的节点区分开来 &#xff0c;参考示例给出的图我们应该就能很清晰地知道题目是什么…...

docker 学习--03 环境安装(本人使用的win10 Linux也是在win10下模拟)

docker 学习–03 环境安装&#xff08;本人使用的win10 Linux也是在win10下模拟&#xff09; docker 学习-- 01 基础知识 docker 学习-- 02 常用命令 文章目录 docker 学习--03 环境安装&#xff08;本人使用的win10 Linux也是在win10下模拟&#xff09;[TOC](文章目录) 1. wi…...

【代码质量】认知复杂度(COGNITIVE COMPLEXITY)一种衡量可理解性的新方法

白皮书地址 摘要&#xff1a;圈复杂度最初是作为“可测试性和模块控制流的“可维护性”。虽然它擅长于衡量前者&#xff0c;但它的数学模型不能产生一个令人满意的值来衡量后者。本文描述一种打破数学度量模型的新度量模型来评估代码&#xff0c;以弥补圈复杂度的缺点&#xf…...

什么是JavaScript中的内存泄漏和如何避免内存泄漏?

1、什么是JavaScript中的内存泄漏和如何避免内存泄漏&#xff1f; JavaScript中的内存泄漏是指在程序运行过程中&#xff0c;一些不再使用的对象或数据仍然存在于内存中&#xff0c;导致内存无法释放&#xff0c;最终导致内存耗尽。 为了避免内存泄漏&#xff0c;可以采取以下…...

安全头响应头(三)​X-Content-Type-Options

一 X-Content-Type-Options响应头 说明&#xff1a;先写个框架,后续补充 思考&#xff1a;请求类型是 "style" 和 "script" 是什么意思? script标签 style StyleSheet JavaScript MIME type 文件扩展和Content-Type的映射关系 场景&#xff1a; 一个…...

spark 执行 hive sql数据丢失

spark-sql 丢失数据 1.通过spark执行hive sql 的时候&#xff0c;发现 hive 四条数据&#xff0c;spark 执行结果只有两条数据 目标对应的两条数据丢失 select date&#xff0c; user_id&#xff0c; pay from dim.isr_pay_failed where user_id ‘*******’ hive-sql 结果…...

【Zephyr 系列 11】使用 NVS 实现 BLE 参数持久化:掉电不丢配置,开机自动加载

🧠关键词:Zephyr、NVS、非易失存储、掉电保持、Flash、AT命令保存、配置管理 📌目标读者:希望在 BLE 模块中实现掉电不丢配置、支持产测参数注入与自动加载功能的开发者 📊文章长度:约 5200 字 🔍 为什么要使用 NVS? 在实际产品中,我们经常面临以下场景: 用户或…...

【笔记】旧版MSYS2 环境中 Rust 升级问题及解决过程

下面是一份针对在旧版 MSYS2&#xff08;安装在 D 盘&#xff09;中&#xff0c;基于 Python 3.11 的 Poetry 虚拟环境下升级 Rust 的处理过程笔记&#xff08;适用于 WIN 系统 SUNA 人工智能代理开源项目部署要求&#xff09;的记录。 MSYS2 旧版环境中 Rust 升级问题及解决过…...

固态继电器与驱动隔离器:电力系统的守护者

在电力系统中&#xff0c; 固态继电器合驱动隔离器像两位“电力守护神”&#xff0c;默默地确保电力设备的安全与稳定运行。它们通过高效、可靠的性能&#xff0c;保障了电力设备在各种环境下的正常工作。 固态继电器是电力控制中的关键组成部分&#xff0c;利用半导体器件来实…...

HTTP 请求协议简单介绍

目录 常见的 HTTP 响应头字段 Java 示例代码&#xff1a;发送 HTTP 请求并处理响应 代码解释&#xff1a; 运行结果&#xff1a; 文件名&#xff1a; 总结&#xff1a; HTTP&#xff08;HyperText Transfer Protocol&#xff09;是用于客户端与服务器之间通信的协议。它定…...

高效绘制业务流程图!专业模板免费下载

在复杂的业务流程管理中&#xff0c;可视化工具已成为提升效能的核心基础设施。为助力开发者、项目经理及业务架构师高效落地流程标准化&#xff0c;本文将为你精选5套开箱即用的专业流程图模板。这些模板覆盖跨部门协作、电商订单、客户服务等高频场景&#xff0c;具备以下核心…...

Zookeeper 和 Kafka 版本与 JDK 要求

Apache Zookeeper 和 Apache Kafka 在不同版本中对 JDK 的要求如下表所示(基于官方文档和历史版本记录整理): 1. Zookeeper 版本与 JDK 要求 Zookeeper 版本要求的最低 JDK 版本说明3.4.x 系列JDK 6生产环境建议用 JDK 8(旧版兼容性强)。3.5.x 系列(3.5.5+)JDK 83.5.0 …...

智启未来:当知识库遇见莫奈的调色盘——API工作流重构企业服务美学

目录 引言 一、初识蓝耘元生代MaaS平台 1.1 平台架构 1.2 平台的优势 1.3 应用场景 二、手把手教你如何在蓝耘进行注册 &#xff08;1&#xff09;输入手机号&#xff0c;将验证码正确填入即可快速完成注册 &#xff08;2&#xff09;进入下面的页面表示已经成功注册&…...

Oracle 的 SEC_CASE_SENSITIVE_LOGON 参数

Oracle 的SEC_CASE_SENSITIVE_LOGON 参数 关键版本信息 SEC_CASE_SENSITIVE_LOGON 参数在以下版本中被弃用&#xff1a; Oracle 12c Release 1 (12.1)&#xff1a; 该参数首次被标记为"过时"(obsolete)但依然保持功能有效 Oracle 18c/19c 及更高版本&#xff1a; …...

基于开源AI智能名片链动2+1模式S2B2C商城小程序的生态农庄留存运营策略研究

摘要&#xff1a;本文聚焦于生态农庄运营中的游客留存问题&#xff0c;以村长与乡亲们吸引游客进村为背景&#xff0c;深入探讨如何借助开源AI智能名片链动2 1模式S2B2C商城小程序实现游客的有效留存。通过分析该小程序在信息传递、服务整合、营销激励等方面的优势&#xff0c…...