Spring Boot 实战篇(二)
文章分类模块相关接口
- 新增文章分类
- 文章分类列表
- 获取文章分类详情
- 更新文章分类
- 删除文章分类
新增文章分类
新增文章分类
- 使用validation完成参数校验
- 在service层需要为Category的createUser、createTime、updateTime属性赋值。
文章分类列表
新增文章分类
设置时间格式:在实体类属性前面加注解@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
。
获取文章分类详情
新增文章分类
更新文章分类
更新文章分类
分组校验:把校验项进行归类分组,在完成不同的功能的时候,校验指定组中的校验项。
- 定义分组:在实体类内部定义接口;
- 定义校验项时指定归属的分组:通过groups属性指定;
- 校验时指定要校验的分组:给@Validated注解的value属性赋值
定义分组
指定归属分组
指定要校验分组
定义校验项时如果某个校验项没有指定分组,默认属于Default分组;分组之间可以继承,A extends B 那么A中拥有B中所有的校验项。
删除文章分类
根据id删除文章,so easy!
文章管理模块相关接口
- 新增文章
- 文章列表(条件分页)
- 获取文章详情
- 更新文章
- 删除文章
新增文章
新增文章
参数校验-自定义校验:已有的注解不能满足所有的校验需求,特殊的情况需要自定义校验(自定义校验注解)。
- 自定义注解State:包含属性 message、groups、payload;
- 自定义校验数据的类 StateValidation 实现 ConstraintValidator 接口;
- 在需要校验的地方使用自定义注解。
文章列表(条件分页)
分页查询
…
文件上传
文件上传
文件上传
@RestController
public class FileUploadController {
@PostMapping("/upload")
public Result<String> upload(MultipartFile file) throws IOException {
//把文件的内容存储到本地磁盘上
String originalFilename = file.getOriginalFilename();
//保证文件的名字是唯一的,从而防止文件覆盖
String filename = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));
file.transferTo(new File("G:\\BOOK\\files\\"+filename));
return Result.success("url访问地址...");
}
}
文件上传