当前位置: 首页 > news >正文

大事件项目记录10-文章分类接口开发-更新文章分类

四、更新文章分类。

        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{}
}

相关文章:

  • 太速科技-670-3U VPX PCIe桥扩展3路M.2高速存储模块
  • 莫队算法 —— 将暴力玩出花
  • 配置文件application.yml使用指南
  • Conformal LEC:官方学习教程
  • 大语言模型推理速度优化之模型量化实践
  • 【Elasticsearch】全文检索 组合检索
  • 正交视图三维重建 笔记 2d线到3d线
  • red-black-tree
  • 《Go语言高级编程》玩转RPC
  • axure基础操作
  • Rust高效编程实战指南
  • c++学习(五、函数高级)
  • GEO(生成式引擎优化)—— 内容创作者与企业的生死新战场
  • 掌握 MySQL 的基石:全面解读数据类型及其影响
  • HarmonyOS NEXT仓颉开发语言实战案例:动态广场
  • 单调栈一文深度解析
  • Flutter基础(路由页面跳转)
  • 【Cursor黑科技AI编程实战】
  • PMO 与IPD、CMMI、项目管理什么区别和联系
  • C++扩展 - 关键字应用 - decltype