写在前面:我们开发Web网页的框架可能不同,但其思想都是一致的,Web要做的事情只有前端处理用户交互去后端拿数据 后端保证前端能拿到想要的数据,在此基础上有着很多的问题 因此有了redis、MQ等等,使用什么框架来做不重要 本文使用Springboot加Vue带您快速入门前后端的数据获取 阅读本文需要有HTTP基础 不会也没有关系 我会给您做一个简单的介绍
HTTP(HyperText Transfer Protocol)是一种用于传输超文本文档(例如 HTML)的应用层协议。它是互联网上最常用的协议之一,用于客户端和服务器之间的通信。
http://example.com:80/index.html
。
参数名称 | 参数值 | 是否必须 | 示例 | 备注 |
---|---|---|---|---|
Content-Type | application/json | 是 |
三、@RequestBody
从http请求body部分获取参数,通常用于接受json或xml格式
参数名称 | 示例 | 备注 |
---|---|---|
status | 1 | 套餐状态,1表示起售,0表示停售 |
用于从请求的URL路径中获取路径变量的值。路径变量是URL中的一部分,用于在RESTful风格的API中传递数据。路径变量的值会直接嵌入到URL路径中,并使用占位符 {}
来表示,Spring MVC 会根据占位符中的变量名将值注入到方法参数中。
@GetMapping("/users/{userId}")
public String getUser(@PathVariable("userId") Long userId) {
// 根据用户ID查询用户信息
}
参数名称 | 是否必须 | 示例 | 备注 |
---|---|---|---|
categoryId | 否 | 分类id | |
name | 否 | 套餐名称 | |
page | 是 | 页码 | |
pageSize | 是 | 每页记录数 | |
status | 否 | 套餐起售状态 |
//以下代码是请求参数对应接收类
@Data
public class SetmealPageQueryDTO implements Serializable {
private int page;
private int pageSize;
private String name;
//分类id
private Integer categoryId;
//状态 0表示禁用 1表示启用
private Integer status;
}
二、@RequestParam:
用于从请求的查询参数中获取单个参数值。通常用于GET请求或者POST请求中的查询参数。在GET请求中,查询参数会附加在URL后面,如 ?key1=value1&key2=value2
,而在POST请求中,查询参数会放在请求体中,需要使用 @RequestParam
指定参数名来获取值。
@GetMapping("/search")
public String search(@RequestParam("keyword") String keyword) {
// 处理查询操作
}
一:添加Spring Framework中的类标识注解 @RestController 这个注解后面可以跟上命名,当同一个项目中有两个一样的类名时,就可以使用这个注解来进行区别
二:添加处理路径 @RequestMapping(“/”)
三:添加日志记录器 原生是logging。这里我选择使用@Slf4j 创建日志记录器,并进行管理。使用该注解后,使用 log 对象进行管理
四:生成接口文档 @Api(tags = "标题")
这里使用Swagger生成接口文档,方便测试
五:对象管理 使用 @Autowired 来进行依赖注入
接口开发主要有三个地方需要开发,一是controller二是 service 三是mapper
@PostMapping("/admin/employee")
@ApiOperation("新增员工")
public Result save(@RequestBody EmployeeDTO employeeDTO){
//RequestBody 注解的作用是告诉Spring MVC框架,要将HTTP请求的body部分(通常是JSON或XML格式的数据)映射到方法参数 employeeDTO 上。
log.info("新增员工:{}",employeeDTO);
employeeService.sava(employeeDTO);
}
一: 确认控制器地址 @PostMapping(“/admin/employee”) 确认后面的请求路劲该写什么
二:编写传输的数据模型 编写一个实体用来接收前端传递过来的数据模型 EmployeeDTO employeeDTO
三:编写处理返回结果的类 Result
四:调用业务逻辑层的相关方法 employeeService.sava(employeeDTO);
附加: log.info(“新增员工:{}”,employeeDTO);便于调试@ApiOperation(“新增员工”)使得生成出来的接口测试站点更加容易阅读
一:编写接口的方法
二: 在实现类中实现
三:封装好属性与数据
记得在业务逻辑类前加上@service标签
遇到前端传来数据与数据库实体差距过大创建了两个对象的时候,业务逻辑层使用对象拷贝能更快拿到数据