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

【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.lryc.cn/news/374449.html

相关文章:

  • Web前端中横线:深入探索与实际应用
  • 鸿蒙 游戏来了 鸿蒙版 五子棋来了 我不允许你不会
  • 国产MCU芯片(2):东软MCU概览及触控MCU
  • 气膜馆的保温措施—轻空间
  • UniVue更新日志:使用Carousel组件实现轮播图效果
  • docker和docker compose 部署
  • 鸿蒙轻内核A核源码分析系列六 MMU协处理器(2)
  • C# 集合(一) —— Array类
  • World Map Globe Edition 2
  • 人类重启计划---19500630
  • 苹果WWDC 2024 带来的 AI 风暴:从生产力工具到个人助理,AI 将如何融入我们的生活?
  • SE语法总结博文(附思维导图)
  • STM32面试题
  • 【单片机】DS2431芯片,读写128个字节,程序
  • [DDR4] DDR 简史
  • 前端 CSS 经典:在 Vue3 中使用渐进式图片
  • 毕业了校园卡怎么改套餐?
  • 每一个男人都曾有一个机器人的梦想
  • 中望CAD 2025 (ZW3D2025) 简体中文修改版
  • CAN 通讯
  • 第零篇——数学到底应该怎么学?
  • Spring Boot顶层接口实现类注入项目的方法
  • JDBC介绍-AI问答(通义千问)
  • Spring AI探索
  • 【代码随想录算法训练Day39】LeetCode 62.不同路径、LeetCode 63.不同路径II
  • 浙大版PTA Python程序设计 题目与知识点整理(综合版)
  • HTML表单深度解析:构建互动的网页界面
  • git 分支管理规范
  • Spring Cloud Gateway 详解:构建高效的API网关解决方案
  • 基于Quartus Prime18.1的安装与FPGA的基础仿真教程