spring@Validated校验用法
1、controller添加注解
public BaseResponse addOrUpdateUnit(@RequestBody @Validated RiskUnitDto riskUnitDto) { doublePreventDataService.addOrUpdateUnit(riskUnitDto); return BaseResponse.success(null); }
2、参数对象添加注解
package com.cosmo.hg.synctask.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Delegate; import org.hibernate.validator.constraints.Range; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import java.math.BigDecimal; import java.util.List; @Data @ApiModel(value = "RiskUnitDto对象", description = "风险分析单元新增/编辑请求类") public class RiskUnitDto { @Size(max = 32,message = "sign不能超过32个字符") @ApiModelProperty(value = "标识",required = true) @NotBlank(message = "sign不能为空") private String sign; @Valid @ApiModelProperty(value = "风险分析单元对象数据",required = true) private List<RiskUnitData> data; @Data public static class RiskUnitData{ @ApiModelProperty(value = "主键id",required = true) @NotNull(message = "风险分析单元id不能为空") private Long id; @ApiModelProperty(value = "风险分析对象id",required = true) @NotNull(message = "风险分析对象id不能为空") private Long riskObjectId; @ApiModelProperty(value = "分析单元名称",required = true) @NotBlank(message = "分析单元名称不能为空") @Size(max = 50,message = "分析单元名称不能超过50个字符") private String riskUnitName; @ApiModelProperty(value = "经度",required = true) @NotNull(message = "经度不能为空") private BigDecimal longitude; @NotNull(message = "纬度不能为空") @ApiModelProperty(value = "纬度",required = true) private BigDecimal dimension; @NotBlank(message = "riskUnitLocation:分析单元位置不能为空") @ApiModelProperty(value = "分析单元位置",required = true) @Size(max = 100,message = "riskUnitLocation:分析单元位置不能大于100个字符") private String riskUnitLocation; // @ApiModelProperty(value = "组织机构编码") // private String orgCode; // // @ApiModelProperty(value = "风险分析对象序号") // private String serialNum; @ApiModelProperty(value = "风险等级") @Range(max = 3,min = 0,message = "riskLevel:风险等级传值不对") @NotBlank(message = "riskLevel:风险等级不能为空") private String riskLevel; @ApiModelProperty(value = "联系电话") private String contactNumber; // @ApiModelProperty(value = "责任人") // private String hazardLiablePerson; @NotBlank(message = "责任人名称不能为空") @ApiModelProperty(value = "责任人名称",required = true) @Size(max = 50,message = "责任人名称不能大于50个字符") private String hazardLiablePersonName; @NotBlank(message = "风险分析对象名称不能为空") @ApiModelProperty(value = "风险分析对象名称",required = true) @Size(max = 50,message = "风险分析对象名称不能大于50个字符") private String riskObjectName; @NotBlank(message = "分析单元编码不能为空") @ApiModelProperty(value = "分析单元编码",required = true) @Size(max = 50,message = "分析单元编码不能大于50个字符") private String riskUnitCode; @NotBlank(message = "是否具有中毒、爆炸、火灾等危险的场所 0-否1-是不能为空") @ApiModelProperty(value = "是否具有中毒、爆炸、火灾等危险的场所 0-否1-是") @Range(max = 1,min = 0,message = "是否具有中毒、爆炸、火灾等危险的场所 0-否1") private String dangerousPlace; @NotBlank(message = "设备设施编号不能为空") @ApiModelProperty(value = "设备设施编号",required = true) @Size(max = 50,message = "equipmentId:设备设施编号不能大于50个字符") private String equipmentId; @NotBlank(message = "作业活动编号不能为空") @ApiModelProperty(value = "作业活动编号",required = true) @Size(max = 50,message = "activityworkId:作业活动编号不能大于50个字符") private String activityworkId; @NotBlank(message = "riskpointType:风险点类型不能为空") @ApiModelProperty(value = "风险点类型",required = true) @Range(max = 3,min = 1,message = "riskpointType:风险点类型传值不对") private String riskpointType; } }
说明:
@NotBlank 校验字符串,并且校验字符串是否为空""
@NotNull 校验是否为空null,包装类型
@Size字符串长度校验
@Range数字范围校验 @Range(max = 3,min = 0)
分类:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?