当前位置: 首页 > 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{}
}
http://www.lqws.cn/news/561151.html

相关文章:

  • AtCoder AT_abc412_c [ABC412C] Giant Domino 题解
  • JavaEE:CAS单点登录
  • 数据结构1 ——数据结构的基本概念+一点点算法
  • 表达式求值
  • Brocade 博科交换机配置带外管理IP
  • 【unity游戏开发——网络】网络协议、TCP vs UDP 本质区别
  • 第九节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 菜单管理(上)
  • AI间对话APK制成
  • Centos 8设置固定IP
  • STM32中Usart的使用
  • WordPress最新版6.8.1安装教程
  • 前缀和 + 哈希表
  • NV046NV060美光固态闪存NV061NV063
  • 从用户到权限:解密 AWS IAM Identity Center 的授权之道
  • Linux更改国内镜像源
  • ZooKeeper深度面试指南三
  • Hadoop集群异常:两个NameNode全部为StandBy状态
  • 【中文核心期刊推荐】《计算机工程与设计》
  • linux学习第26天(信号集)
  • llm 基本案例实现
  • 从OCR瓶颈到结构化理解来有效提升RAG的效果
  • C++ - 浅看vector源码
  • SpringBoot -- 以 jar 包运行(以及常见错误分析)
  • HarmonyOS NEXT仓颉开发语言实战案例:动态广场
  • Java面试题030:一文深入了解MySQL(2)
  • SpringMVC系列(六)(Restful架构风格(中))
  • Python助力自动驾驶:深度学习模型优化全攻略
  • 什么是 PoS(权益证明)
  • 如何用VS Code、Sublime Text开发51单片机
  • uni-app subPackages 分包加载:优化应用性能的利器