【SpringBoot + Vue 尚庭公寓实战】标签和配套管理接口实现接口实现(六)

【SpringBoot + Vue 尚庭公寓实战】标签和配套管理接口实现接口实现(六)


文章目录

      • 【SpringBoot + Vue 尚庭公寓实战】标签和配套管理接口实现接口实现(六)
        • 1、保存或更新标签信息
        • 2、根据id删除标签信息
        • 3、根据类型查询配套列表
        • 4、新增或修改配套信息
        • 5、根据id删除配套信息

1、保存或更新标签信息

查看接口

访问http://localhost:8080/doc.html

点击标签管理查看接口

点击新增或修改标签信息

image-20240609151644898

image-20240609151704306

进行开发

LabelController中增加如下内容

@Operation(summary = "保存或更新标签信息")
@PostMapping("saveOrUpdate")
public Result saveOrUpdateFacility(@RequestBody LabelInfo labelInfo) {service.saveOrUpdate(labelInfo);return Result.ok();
}

解释

@Operation: 这是用于Swagger UI生成接口文档的注解,它提供了此API操作的简要描述。
@PostMapping: 将此方法映射到POST请求的"/saveOrUpdate"路径,用于处理来自客户端的POST请求。
Result: 此方法的返回类型,使用泛型封装API的返回结果。Result.ok()用于生成一个标准的成功响应。
@RequestBody: 指明此参数应从请求的正文(Body)中获取,并自动由Spring框架的HTTP消息转换器将JSON数据映射到LabelInfo对象。
service.saveOrUpdate(labelInfo): 这一行调用了业务层的saveOrUpdate方法,这个方法通常检查传入的labelInfo对象是否包含id。如果包含id,则为更新操作;如果不包含,认为是新的记录,执行插入操作。
Result.ok(): 这通常是一个静态方法,用来创建一个表示操作成功的响应对象。在这个场景中,它没有返回具体的数据,只是一个成功的状态,告诉客户端操作已成功完成。

2、根据id删除标签信息

查看接口

访问http://localhost:8080/doc.html

点击标签管理查看接口

点击根据id删除标签信息

image-20240609151843803

进行开发

LabelController中增加如下内容

    @Operation(summary = "根据id删除标签信息")@DeleteMapping("deleteById")public Result deleteLabelById(@RequestParam Long id) {labelInfoService.removeById(id);return Result.ok();}

解释

@Operation: 这个Swagger注解用于生成API文档,描述了这个API端点的主要功能,即根据ID删除标签信息。

@DeleteMapping(“deleteById”): 此注解将方法映射到对应的HTTP
DELETE请求上,路径为"/deleteById"。DELETE请求通常用于表示删除资源的操作。

public Result deleteLabelById(@RequestParam Long id):
这是方法的签名,返回一个Result类型的对象,这是一个自定义响应类,通常用于API的标准化输出。@RequestParam注解用于从请求的URL查询参数中接收名为id的参数,此处没有设置required为false,因此它是必需的。

labelInfoService.removeById(id):
在此行,labelInfoService的removeById方法被调用,传入的参数是id。这个方法负责在数据存储层(如数据库)中删除指定ID的记录。

return Result.ok():
方法返回一个Result.ok()调用的结果,这通常是一个工厂方法,用来创建一个成功的响应对象,表明删除操作已成功执行,没有返回数据,只是一个操作成功的确认。

3、根据类型查询配套列表

查看接口

访问http://localhost:8080/doc.html

点击配套管理

点击[根据类型]查询配套信息列表

image-20240609152042985

进行开发

FacilityController中增加如下内容

@Tag(name = "标签管理")
@RestController
@RequestMapping("/admin/label")
public class LabelController {@Autowiredprivate LabelInfoService labelInfoService;@Operation(summary = "(根据类型)查询标签列表")@GetMapping("list")public Result<List<LabelInfo>> labelList(@RequestParam(required = false) ItemType type) {LambdaQueryWrapper<LabelInfo> labelInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();labelInfoLambdaQueryWrapper.eq(type!=null,LabelInfo::getType,type);List<LabelInfo> list = labelInfoService.list(labelInfoLambdaQueryWrapper);return Result.ok(list);}
}

解释
@Operation: 这是用于为Swagger UI生成接口文档的描述信息。
@GetMapping: 将此方法映射到GET请求的"/list"路径,用于处理来自客户端的GET请求。
Result<List>: 指定方法的返回类型,这里使用泛型包装了标签信息的列表,并使用自定义的Result类型标准化响应结构。
@RequestParam: 允许通过请求的查询参数(URL中的参数)传递信息到方法中。required = false表示这个参数不是必须的,请求中可以不包含它。
LambdaQueryWrapper: MyBatis Plus提供的一个工具类,用于构建SQL语句的条件部分。
labelInfoLambdaQueryWrapper.eq(…): 添加一个条件到查询中。这里使用Java 8的方法引用来指定字段名,保证了类型安全。
labelInfoService.list(…): 调用业务逻辑层的方法,执行数据库查询操作,并获取结果。
Result.ok(list): 创建一个表示操作成功的结果,包含查询到的数据,这通常用于统一API的响应结构。

4、新增或修改配套信息

查看接口

访问http://localhost:8080/doc.html

点击配套管理

点击新增或修改配套信息

image-20240609152304990

image-20240609152324454

进行开发

FacilityController中增加如下内容

@Tag(name = "标签管理")
@RestController
@RequestMapping("/admin/label")
public class LabelController {@Autowiredprivate LabelInfoService labelInfoService;@Operation(summary = "新增或修改标签信息")@PostMapping("saveOrUpdate")public Result saveOrUpdateLabel(@RequestBody LabelInfo labelInfo) {labelInfoService.saveOrUpdate(labelInfo);return Result.ok();}}
5、根据id删除配套信息

查看接口

访问http://localhost:8080/doc.html

点击配套管理

点击根据id删除配套信息

image-20240609152451561

进行开发

FacilityController中增加如下内容

@Tag(name = "标签管理")
@RestController
@RequestMapping("/admin/label")
public class LabelController {@Autowiredprivate LabelInfoService labelInfoService;@Operation(summary = "根据id删除标签信息")@DeleteMapping("deleteById")public Result deleteLabelById(@RequestParam Long id) {labelInfoService.removeById(id);return Result.ok();}
}

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

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

相关文章

Aptos Builder Jam 亚洲首站|见证 Aptos 公链 2024 年新突破

4 月下旬的「TinTin DESTINATION MOON」杭州站活动让我们构建下一个 Web3 巅峰的项目生态行动与未来战略。时隔三个月&#xff0c;「TinTin DESTINATION MOON」Aptos 线下活动将再次来到杭州&#xff0c;为 Aptos Builder Jam 亚洲首站火热造势&#xff0c;7 月 6 日诚邀 Web3 …

vue2中如何动态渲染组件

vue2中如何动态渲染组件 动态渲染组件代码解读通过函数调用渲染组件 封装一个函数调用的二次确认弹窗如何让外部知道用户点击了取消还是确定呢&#xff1f; 思考小结 vue2 的项目中&#xff0c;main.js 文件中有一个挂载 App.vue 组件的方法&#xff1a; new Vue({name: Root,…

工程师 - 什么是EMI测试

一、EMC EMI EMS定义&#xff1a; EMC&#xff08;ElectromagneticCompatibility&#xff09; 电磁兼容&#xff0c;是指设备或系统在电磁环境中性能不降级的状态。电磁兼容&#xff0c;一方面要求系统内没有严重的干扰源&#xff0c;一方面要求设备或系统自身有较好的抗电磁…

5G发牌五周年丨移远通信:全面发力,加快推进5G技术服务社会发展

2024年6月6日&#xff0c;正值中国5G商用牌照发牌五周年。根据移动通信“十年一代”的规律&#xff0c;5G已走过一半征程。在过去的五年时间里&#xff0c;5G技术从萌芽到成熟&#xff0c;深刻改变了工业、农业、医疗及消费端等各个领域的发展脉络。无论是无人机配送、自动驾驶…

【LeetCode】两数相加(基于单向链表)难度:中等

目录 理清题目 解题思路 题目代码 运行结果 我们来看一下题目描述&#xff1a; 理清题目 首先题目要求链表中的节点的值必须在[0,9]之间也就是说我们要处理的数字必为正整数&#xff0c;因此就不会涉及到太复杂的计算&#xff0c;题目其实就是要求对两个链表中的节点的值分…

详解 Flink 的状态管理

一、Flink 状态介绍 1. 流处理的无状态和有状态 无状态的流处理&#xff1a;根据每一次当前输入的数据直接转换输出结果的过程&#xff0c;在处理中只需要观察每个输入的独立事件。例如&#xff0c; 将一个字符串类型的数据拆分开作为元组输出或将每个输入的数值加 1 后输出。…

台积电代工!Intel新AI PC芯片Lunar Lake发布:AI算力120TOPS!

根据英特尔披露的数据显示&#xff0c;Lunar Lake的GPU性能提升50%、NPU内核的AI算力增加了四倍、SoC耗电量减少40%、GPU AI算力增加3.5倍&#xff0c;整个SoC的算力超过了120TOPS。 6月4日&#xff0c;英特尔CEO帕特基辛格在COMPUTEX 2024上发表主题演讲&#xff0c;正式公布…

如何确保redis缓存中的数据与数据库一致

一、双写模式&#xff1a; 在写入数据库时&#xff0c;也写入缓存。 二&#xff1a;失效模式&#xff1a; 在写入新数据后&#xff0c;删除缓存中数据&#xff0c;下次请求时查询数据库&#xff0c;并把查到的最新数据写入缓存。 不管是双写模式还是失效模式&#xff0c;缓…

Letcode-Top 100二叉树专题

94. 二叉树的中序遍历 方法一&#xff1a;递归法 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeN…

SpringBoot的学习要点

目录 SpringBoot 创建项目 配置文件 注解 命名规范 SpringBoot整合第三方技术 …… 中文文档&#xff1a;Spring Boot 中文文档 SpringBoot Spring Boot 是基于 Spring 框架的一种快速构建微服务应用的方式它主要提供了自动配置、简化配置、运行时应用监控等功能它…

大水文之------端午练练JS好了

最近有点不太知道要干啥了&#xff0c;昨天看了集cocos的介绍&#xff0c;下载了个DashBoard&#xff0c;看了看里面的内容&#xff0c;确实有点小震惊&#xff0c;还有些免费的源码可以学习&#xff0c;挺好的。 昨天学习ts&#xff0c;感觉自己的js水平好像不太行&#xff0c…

Functional ALV系列 (10) - 将填充FieldCatalog封装成函数

在前面的博文中&#xff0c;已经讲了封装的思路和实现&#xff0c;主要是利用 cl_salv_data_descr>read_structdescr () 方法来实现。在这里&#xff0c;贴出代码方便大家参考。 编写获取内表组件的通用方法 form frm_get_fields using pt_data type any tablechanging…

C++期末复习提纲(血小板)

目录 1.this指针 2.静态成员变量 3.面向对象程序设计第一阶段 4.面向对象程序设计第二阶段 5.面向对象程序设计第三阶段 6.简答题 &#xff08;1&#xff09;拷贝构造函数执行的三种情况&#xff1a; &#xff08;2&#xff09;虚析构函数的作用&#xff1a; &#xff…

Python基础——字符串

一、Python的字符串简介 Python中的字符串是一种计算机程序中常用的数据类型【可将字符串看作是一个由字母、数字、符号组成的序列容器】&#xff0c;字符串可以用来表示文本数据。 通常使用一对英文的单引号&#xff08;&#xff09;或者双引号&#xff08;"&#xff09;…

html接口响应断言

接口响应值除类json格式&#xff0c;还有html格式 断言步骤 第一步&#xff1a;替换空格replace 原本返回的格式和网页内容一致&#xff0c;每行前面有很多空格&#xff0c;需要去除这些空格 第二步&#xff1a;分割split 因为行与行之前有回车符&#xff0c;所以把回车符替…

Spring之SpringMVC源码

SpringMVC源码 一、SpringMVC的基本结构 1.MVC简介 以前的纯Servlet的处理方式&#xff1a; Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String type req.getParameter(Constant.REQUEST_PA…

【Java面试】十六、并发篇:线程基础

文章目录 1、进程和线程的区别2、并行和并发的区别3、创建线程的四种方式3.1 Runnable和Callable创建线程的区别3.2 线程的run和start 4、线程的所有状态与生命周期5、新建T1、T2、T3&#xff0c;如何保证线程的执行顺序6、notify和notifyAll方法有什么区别7、wait方法和sleep方…

QT-轻量级的笔记软件MyNote

MyNote v2.0 一个轻量级的笔记软件&#x1f4d4; Github项目地址: https://github.com/chandlerye/MyNote/tree/main 应用简介 MyNote v2.0 是一款个人笔记管理软件&#xff0c;没有复杂的功能&#xff0c;旨在提供便捷的笔记记录、管理以及云同步功能。基于Qt 6.6.3 个人开…

MATLAB入门知识

目录 原教程链接&#xff1a;数学建模清风老师《MATLAB教程新手入门篇》https://www.bilibili.com/video/BV1dN4y1Q7Kt/ 前言 历史记录 脚本文件&#xff08;.m&#xff09; Matlab帮助系统 注释 ans pi inf无穷大 -inf负无穷大 i j虚数单位 eps浮点相对精度 0/&a…

Edge浏览器视频画中画可拉动进度条插件Separate Window

平时看一些视频的时候&#xff0c;一般需要编辑一些其他的东西&#xff0c;于是开启画中画&#xff0c;但是画中画没有进度条&#xff0c;需要大幅度的倒退前进得回到原视频&#xff0c;很麻烦。这里推荐插件Separate Window&#xff0c;可实现画中画进度条拉动和播放sudu的调节…