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

相关推荐
李少兄5 小时前
解决Spring Boot多模块自动配置失效问题
java·spring boot·后端
m0_740154676 小时前
Maven概述
java·maven
他҈姓҈林҈6 小时前
Spring Boot 支持政策
spring boot
ss2737 小时前
基于Springboot + vue + 爬虫实现的高考志愿智能推荐系统
spring boot·后端·高考
两点王爷8 小时前
springboot项目文件上传到服务器本机,返回访问地址
java·服务器·spring boot·文件上传
pjx9878 小时前
质量的“试金石”:精通Spring Boot单元测试与集成测试
spring boot·spring·单元测试·集成测试
幼儿园口算大王9 小时前
Spring反射机制
java·spring·反射
Howard_Stark10 小时前
Spring生命周期
spring
计算机毕设定制辅导-无忧学长11 小时前
Spring 与 ActiveMQ 的深度集成实践(二)
spring·activemq·java-activemq
溪i11 小时前
react-spring/web + children not defined
前端·spring·react.js