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

Javaweb之SpringBootWeb案例新增部门的详细解析

2.3 删除部门

查询部门的功能我们搞定了,下面我们开始完成删除部门的功能开发。

2.3.1 需求

点击部门列表后面操作栏的 "删除" 按钮,就可以删除该部门信息。 此时,前端只需要给服务端传递一个ID参数就可以了。 我们从接口文档中也可以看得出来。

2.3.2 接口文档

删除部门

  • 基本信息

    请求路径:/depts/{id}
    ​
    请求方式:DELETE
    ​
    接口描述:该接口用于根据ID删除部门数据
  • 请求参数 参数格式:路径参数

    参数说明:

    参数名类型是否必须备注
    idnumber必须部门ID

    请求参数样例:

    /depts/1
  • 响应数据 参数格式:application/json

    参数说明:

    参数名类型是否必须备注
    codenumber必须响应码,1 代表成功,0 代表失败
    msgstring非必须提示信息
    dataobject非必须返回的数据

    响应数据样例:

    {"code":1,"msg":"success","data":null
    }

2.3.3 思路分析

接口文档规定:

  • 前端请求路径:/depts/{id}

  • 前端请求方式:DELETE

问题1:怎么在controller中接收请求路径中的路径参数?

@PathVariable

问题2:如何限定请求方式是delete?

@DeleteMapping

2.3.4 功能开发

通过查看接口文档:删除部门

请求路径:/depts/{id}

请求方式:DELETE

请求参数:路径参数 {id}

响应数据:json格式

DeptController

@Slf4j
@RestController
public class DeptController {@Autowiredprivate DeptService deptService;
​@DeleteMapping("/depts/{id}")public Result delete(@PathVariable Integer id) {//日志记录log.info("根据id删除部门");//调用service层功能deptService.delete(id);//响应return Result.success();}//省略...
}

DeptService

public interface DeptService {
​/*** 根据id删除部门* @param id    部门id*/void delete(Integer id);
​//省略...
}

DeptServiceImpl

@Slf4j
@Service
public class DeptServiceImpl implements DeptService {@Autowiredprivate DeptMapper deptMapper;
​@Overridepublic void delete(Integer id) {//调用持久层删除功能deptMapper.deleteById(id);}//省略...
}

DeptMapper

@Mapper
public interface DeptMapper {/*** 根据id删除部门信息* @param id   部门id*/@Delete("delete from dept where id = #{id}")void deleteById(Integer id);//省略...
}

2.3.5 功能测试

删除功能开发完成后,重新启动项目,使用postman,发起DELETE请求:

2.3.6 前后端联调

打开浏览器,测试后端功能接口:

http://www.lryc.cn/news/280104.html

相关文章:

  • 基于微信小程序的音乐平台 开源项目
  • uniapp 微信小程序跳转外部链接
  • 【STM32】FLASH闪存
  • 滴水内存地址堆栈
  • Laravel中的lockForUpdate悲观锁
  • BikeDNA(八)外在分析:OSM 与参考数据的比较2
  • 28 星际旋转
  • 测试人员必备基本功(3)
  • 记一次数据修复,需要生成十万条sql进行数据回滚
  • [paddle]paddlehub部署paddleocr的hubserving服务
  • 2024校招,网易互娱游戏测试工程师一面
  • Linux Ubuntu搭建我的世界Minecraft服务器实现好友远程联机MC游戏
  • Springboot对接ceph集群以及java利用s3对象网关接口与ceph集群交互
  • nrm使用
  • 06-微服务OpenFeigh和Sentinel持久化
  • docker 安装redis (亲测有效)
  • 利用GitHub开源项目ChatGPTNextWeb构建属于自己的ChatGPT - Docker
  • Vue3使用ElementPlus中的el-upload手动上传并调用上传接口
  • 【Github3k+⭐️】《CogAgent: A Visual Language Model for GUI Agents》译读笔记
  • FF的异步清零端口需要时钟吗?--不需要
  • 【conda】pip安装报错,网络延时问题解决记录(亲测有效)
  • Spring Boot整理-Spring Boot的优势
  • C++标准学习--decltype
  • Linux之静态库和动态库
  • erlang/OTP 平台(学习笔记)(三)
  • Spring整理-Spring框架中用了哪些设计模式
  • Poi实现根据word模板导出-图表篇
  • windows或mac端口转发
  • Linux工具-搭建文件服务器
  • 深入理解@DubboReference与@DubboService【三】