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

3.5 SpringBootWeb案例

开发规范-Restful

REST(REpresentational State Transfer),表述性状态转换它是一种软件架构风格

传统风格

http://localhost:8080/user/getById?id=1     GET:查询id1的用户http://localhost:8080/user/saveUser         POST:新增用户http://localhost:8080/user/updateUser       POST:修改用户http://localhost:8080/user/deleteUser?id=1  GET:删除id1的用户

REST风格

http://localhost:8080/users/1  GET:查询id1的用户

http://localhost:8080/users    POST新增用户

http://localhost:8080/users    PUT:修改用户

http://localhost:8080/users/1  DELETE:删除id1的用户

开发规范-统一响应结果

前后端交互统一响应结果Result

开发流程

查看页面原型明确需求->阅读接口文档->思路分析->接口开发-> 接口测试 -> 前后端联调

查询部门

思路:首先 前端发出了一个查询的请求,DeptController接收请求,调用service查询部门,响应,DeptService调用mapper接口查询,DeptMapper进行sql语句查询,获取结果返回到service层,再返回给controller层。

前后端联调

1.开发流程

明确需求--接口文档--思路分析--接口开发

2.接口tiaos

postma测试、前后端联调

3.日志小技巧

@Slf4j

删除

根据id删除部门

@PathVariable是为了获取URL中的动态值,它主要用于请求的URL中提取动态部分的参数值,,通常RESTful风格的API会包含路径参数,这些参数在URL中作为占位符出现。

新增

@RequestMapping

一个完整的请求路径,应该是类上的@RequestMapping的value属性+方法上的@RequestMapping的value属性。

@RequestBody: 用于处理JSON、XML格式的请求数据体,将其转换为Java对象。

修改部门

--根据id查询

DeptController:接收请求参数id,调用service查询部门,响应

@PostMapping @PathVariable

DeptService:调用mapper接口实现查询

DeptMapper:sql语句

--修改部门

员工部门

分页查询

参数1:起始索引 =(页码-1)* 每页显示的记录数

参数2:查询返回记录数 =每一页展示的记录数

select * from emp limit 0,5

前端传递给后端的参数

当前页码:page

每页展示记录数:pageSize

后端给前端返回的数据

数据列表:List 

总记录数:total

@RequestParam的属性defaultValue可以来设置参数的默认值。

分页插件PageHelper

PageHelper分页插件

引入依赖:pagehelper-spring-boot-starter

条件分页查询

用动态SQL实现

删除员工

--删除员工、动态删除(动态SQL)

开发批量删除的接口

不需要返回值

EmpController

EmpServiceImpl

EmpMapper

EmpMapper.xml

相关文章:

  • vue3 使用easyPlayer 遇到 Cannot read properties of undefined (reading ‘_c‘) 解决方案
  • 深入C语言:指针与数组的经典笔试题剖析
  • 探索DeFi世界:用Python开发去中心化金融应用
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)示例4: 自定义插槽
  • 共享模型之管程(悲观锁)
  • vue2 插值语法中使用可选链运算符(.?)compile异常排查思路
  • Codeforces Round 835 (Div. 4)题解ABCDEFG
  • 【长安大学】苹果手机/平板自动连接认证CHD-WIFI脚本(快捷指令)
  • 可视化编辑器选择
  • docker 离线安装redis(离线)
  • Mac 基于 Ollama 安装 DeepSeek-R1(蒸馏版本)、AnythingLLM 及使用体验
  • 分析一个流量包
  • 【技术点】RAG
  • deepseek使用记录21——知识焦虑
  • C++基础系列【18】引用和指针的区别
  • 审批流AntV框架蚂蚁数据可视化X6饼图(注释详尽)
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
  • esp32驱动带字库芯片TFT屏幕
  • Kimball维度建模技术解析:从业务需求到维度扩展
  • Java Spring Boot 外卖系统,构建便捷的本地生活服务
  • 广州学做网站/做网络推广需要多少钱
  • php网站开发培训班/域名注册信息查询whois
  • 网站有收录就会排名吗/网站策划方案范文
  • 微网站定制/中文网站排行榜
  • 怎么做网上赌博的网站/重庆seo教程博客
  • 阿里巴巴1688全球采购批发平台/重庆镇海seo整站优化价格