相关概念

# Error解决 ## `@Validated`无法校验集合的问题 ```java @RestController @RequestMapping("product/category") @Validated(UpdateSortGroup.class) // 该校验分组和下面的@Valid配合使用, 解决校验集合的问题, 采取该分组, 其他校验分组以方法为准 public class CategoryController { @RequestMapping("/update/sort") // TODO: 如何解决批量校验问题(貌似解决不了) public R batchUpdate(@Valid @RequestBody List<CategoryEntity> categoryEntities) { categoryService.updateBatchById(categoryEntities); return R.ok(); } ``` ## `@Validated`其他无法校验的情况 >@validate()`里面可以填一个或多个分组, 只有分组里里面的校验才会生效, 没有声明这个分组的校验都不生效 即, 比如@Validated(A.class), 不是A的都用不了 # 相关概念 ## 有了前端校验为什么需要后端校验呢? > **有了前端校验, 确实通过表单提交的数据一定是万无一失的, 一定是正确的, 但是, 可能有一些别有用心的人, 把请求拿了出来, 按照请求用POSTMAN等软件自己去发, 这样就饶过了前端校验, 这个发过来的数据及其危险, 因此, 我们不仅要前端校验, 而且还有后端校验, 将一切破坏的幻想扼杀于摇篮之中** ## 为什么需要统一返回结果? > 其实很简单, 因为项目都是前后端分离的, 如果不统一返回结果, 那么前端根本不知道你返回的是什么鬼东西, 所以一定要统一返回 ## 为什么需要校验分组 > 添加记录或者更新记录是可能用到同一个实体类, 因此同一个实体类拥有了不同的应用场景, 不同的应用场景校验的数据可能不同, 因此需要校验分组 >校验分组的声明是通过接口的 ## 为什么要自定义校验 > **很简单, 默认给的校验都不满足项目的需求, 所以需要自定义校验**