首页 > 其他分享 >更新和添加参数校验优化(2024-3-26)

更新和添加参数校验优化(2024-3-26)

时间:2024-03-26 21:47:24浏览次数:21  
标签:26 校验 private public 2024 HH import class

由于更新文章分类和添加文章分类,参数校验时,一个需要ID notnull 一个只是让id自动增长,

所以当再次添加新的文章时会出现id为空的错误:

这时候就要用到validation提供的分组校验:

把校验项进行分类,在完成不同功能的时候,校验指定组中的校验项

package com.di.bigevent.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

import java.time.LocalDateTime;
@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-HH-dd HH:mm:ss")
    private LocalDateTime createTime;//创建时间
    @JsonFormat(pattern = "yyyy-HH-dd HH:mm:ss")
    private LocalDateTime updateTime;//更新时间


    public interface Add{

    }
    public interface Update{

    }
}

///////////////////////////////////////////////////

@PostMapping//insert
    public Result add(@RequestBody @Validated(Category.Add.class) Category category)
        
@PutMapping//update
    public Result update(@RequestBody @Validated(Category.Update.class) Category category)

定义校验项时如果没有指定分组,则属于Default分组,分组可以继承

可以改为:

package com.di.bigevent.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

import java.time.LocalDateTime;
@Data
public class Category {
    @NotNull(groups=Update.class)
    private Integer id;//主键ID
   
    private String categoryName;//分类名称
   
    private String categoryAlias;//分类别名
    private Integer createUser;//创建人ID
    @JsonFormat(pattern = "yyyy-HH-dd HH:mm:ss")
    private LocalDateTime createTime;//创建时间
    @JsonFormat(pattern = "yyyy-HH-dd HH:mm:ss")
    private LocalDateTime updateTime;//更新时间


    public interface Add extends Default{

    }
    public interface Update extends Default{

    }
}

标签:26,校验,private,public,2024,HH,import,class
From: https://www.cnblogs.com/muzhaodi/p/18097657

相关文章

  • 20240326打卡
    第五周第一天第二天第三天第四天第五天第六天第七天所花时间20h4h代码量(行)877164博客量(篇)11知识点了解navigation路由配置,jetpackcompose组件运用,容器封装第一次结对作业开始今天主要由建民老师包分配的方式给我分了结......
  • 【Azure Service Bus】启用诊断日志来获取客户端访问Azure Service Bus的IP地址 [2024
    问题描述在使用ServiceBus中,遇见了莫名奇妙,不知来源的访问,但是又不敢直接修改AccessKey(担心影响正常业务),所以想通过访问服务的客户端IP地址来分析,到底是那里的客户端在访问ServiceBus服务? 问题解答经过调查,可以通过开启AzureServiceBus的诊断日志来实现此目的。......
  • 联合省选 2024 题解
    魔法手杖考虑判定答案是否可以大于等于\(t\)。观察\(a_i\oplusx<t\)的情况,可以发现满足要求的\(x\)分为若干段:最高\(u\)位为\(a_i\oplust\)的最高\(u\)位;接下来这一位\(t\)为\(1\),且\(x\)取值为\(a_i\)这一位的取值;更低的位随意。这事实上相当于:我们往0......
  • 3.26博客
    作业根据地域属性实现数据的可视化展示,可以看到省-市-区县三级数据下钻呈现的项目数量name为null的时候value显示为NAN因为地图该区域在数据库中没有匹配的name,所以这里count(*)直接为null,显示NAN; b->namec-<value 之前在select那里判空,没用,后来想起了地图部分在数据库......
  • [20240325]FORCE_MATCHING_SIGNATURE与DML.txt
    [20240325]FORCE_MATCHING_SIGNATURE与DML.txt--//生产系统遇到1个FORCE_MATCHING_SIGNATURE重合的奇怪现象,一般情况都是相似的sql语句(没有使用绑定变量的sql语句),--//FORCE_MATCHING_SIGNATURE相同。--//实际上insert语句真实FORCE_MATCHING_SIGNATURE=0,但是在v$active_session......
  • [20240325]expand_sql_text dba_hist_sysstat(12c).txt
    [20240325]expand_sql_textdba_hist_sysstat(12c).txt--//前几天测试dba_hist_sysdate的底层视图定义里面包含提示.--//测试一条sql语句包含dba_hist_sysstat使用expand_sql_text的展开情况.1.环境:SYS@test>@ver1PORT_STRING                   VERSION ......
  • 3.26毕设
    安装vite之后,”tsconfig.app.json“文件报错 鼠标移动到报错的红色下划线位置,出现错误提示“JSONschemafortheTypeScriptcompiler’sconfigurationfileOption‘–resolveJsonModule’cannotbespecifiedwithout‘node’moduleresolutionstrategy.ts”根据报......
  • 就业班 第二阶段 2401--3.26 day6 Shell初识 连接vscode
    远程连接vs_code可能出现的问题C:\Users\41703\.ssh验证远程主机的身份,如果连不上vscode,可以尝试删除这里面的公钥代码。重新安装那个扩展,排除扩展本身的问题谁连过我,并操作了什么curlhttps://gitea.beyourself.org.cn/newrain001/shell-project/raw/branch/master......
  • 20240326
    T1TopcoderSRM565div1Medium-TheDivisionGame博弈论。一个数字的SG函数值即为其质因子个数,可以用数学归纳法证明。接下来我们用\(\sqrt{10^9}\)以内的质数去除区间内的每个数求出区间内每个数的质因子个数。别忘了一个数还可能有大于根号的质因子。然后根据SG函数的......
  • 2024.03.26
    周二之醍醐灌顶,前四周被MySQL高版本耽误时间,没能跟上进度。今天和一位王同学结对,经过他的讲解和演示,我完成了基础阶段。之前深受csdn毒害,教程新建项目都是选择EmptyActivity,但是项目目录中却和我的对不上,今天才得知要选择EmptyViewsActivity。代码时间2h,环境配置成功,数据......