3.5 SpringBootWeb案例

开发规范-Restful

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

传统风格

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

http://localhost:8080/users/1 GET**:查询id为1的用户**

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

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

http://localhost:8080/users/1 DELETE**:删除id为1的用户**

开发规范-统一响应结果

前后端交互统一响应结果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

相关推荐
_Evan_Yao1 小时前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
paopaokaka_luck4 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
paopaokaka_luck6 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
2301_32241428047 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
雷一言说8 小时前
Spring AI 2.0 Tool Calling 实战:用一个订单查询跑通整个调用链
spring
xieliyu.13 小时前
【JavaEE进阶】Spring Boot 日志:从 System.out 到 @Slf4j,6 个级别 + 4 类配置一篇讲透
java·spring boot·spring·java-ee·springboot·logback·slf4j
IT_Octopus13 小时前
Apollo 配置中心入门:一所“小学校“读懂 Portal、Meta Server、Config Service
java·后端·spring
Mr-Wanter15 小时前
Spring Boot 接口签名实践
java·spring boot
何中应15 小时前
MySQL 连接驱动单独下载的两种方式
数据库·mysql·maven
余槐i15 小时前
开虚拟线程后接口反而更慢:JDK 21 synchronized 锁住载体线程的排查
java·spring boot·redis·mysql·性能优化