四、更新文章分类。
CategoryController.java:
@PutMappingpublic Result update(@RequestBody @Validated Category category){categoryService.update(category);return Result.success();}
CategoryService:
//更新分类void update(Category category);
CategoryServiceInterface.java:
@Overridepublic void update(Category category) {category.setUpdateTime(LocalDateTime.now());categoryMapper.update(category);}
CategoryMapper.java:
//更新@Update("update category set category_name=#{categoryName},category_alias=#{categoryAlias},update_time=#{updateTime}" +"where id=#{id} ")void update(Category category);
使用Postman运行测试:
**********************************************参数校验*****************************************************
分组校验:
把校验项进行归类分组,在完成不同的功能的时候,校验指定组中的校验项。
1.定义分组
2.定义校验项时指定归属的分组
3.校验时指定要校验的分组
在实体类内新增分组:
@Data
public class Category {@NotNull(groups = Update.class)private Integer id;//主键ID@NotEmpty(groups = {Add.class,Update.class})private String categoryName;//分类名称@NotEmpty(groups = {Add.class,Update.class})private String categoryAlias;//分类别名private Integer createUser;//创建人ID@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;//创建时间@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime updateTime;//更新时间public interface Add{}public interface Update{}
}
指定校验分组:
@PostMappingpublic Result add(@RequestBody @Validated(Category.Add.class) Category category){categoryService.add(category);return Result.success();}
@PutMappingpublic Result update(@RequestBody @Validated(Category.Update.class) Category category){categoryService.update(category);return Result.success();}
***********************************************注意事项***************************************************
1.如果某个校验项没有指定分组,默认属于Default分组;
2.分组之间可以继承,A extends B那么A中拥有B中所有的校验项 。
故也可这样写:
@Data
public class Category {@NotNull(groups = Update.class)private Integer id;//主键ID@NotEmptyprivate String categoryName;//分类名称@NotEmptyprivate String categoryAlias;//分类别名private Integer createUser;//创建人ID@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;//创建时间@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime updateTime;//更新时间public interface Add extends Default {}public interface Update extends Default{}
}