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)

spring@Validated校验用法的更多相关文章

  1. spring 参数校验

    1.了解下资源文件加载 MessageSource   需要国际化处理时使用这个类 (在需要处理国际化的地方使用messageSource.getMessage(this.getResponseCod ...

  2. SpringMVC +mybatis+spring 结合easyui用法及常见问题总结

    SpringMVC +mybatis+spring 结合easyui用法及常见问题总结 1.FormatString的用法. 2.用postAjaxFillGrid实现dataGrid 把form表单 ...

  3. Spring中@Async用法详解及简单实例

    Spring中@Async用法 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类 ...

  4. spring @Validated 注解开发中使用group分组校验

    之前知道spring支持JSR校验,在自己定义的bean中加入@NotNull,@NotBlank,@Length等之类的校验用于处理前台传递过来的request请求,避免在写多余的代码去处理. 但是 ...

  5. spring的校验框架 @Validated & BindingResult

    controller上写法类似这样: @RequestMapping(value = "saleInfoList.json", method = RequestMethod.GET ...

  6. (转)Spring中@Async用法总结

     原文:http://blog.csdn.net/blueheart20/article/details/44648667 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的: ...

  7. spring 数据校验之Hibernate validation

    1.需要的jar包 2.springsevlet-config.xml配置 在spring3之后,任何支持JSR303的validator(如Hibernate Validator)都可以通过简单配置 ...

  8. Spring中@Async用法总结

    引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3. ...

  9. Spring 捕捉校验参数异常并统一处理

    使用 @Validated ,@Valid ,@NotBlank 之类的,请自行百度,本文着重与捕捉校验失败信息并封装返回出去 参考: https://mp.weixin.qq.com/s/EaZxY ...

  10. spring AOP的用法

    AOP,面向切面编程,它能把与核心业务逻辑无关的散落在各处并且重复的代码给封装起来,降低了模块之间的耦合度,便于维护.具体的应用场景有:日志,权限和事务管理这些方面.可以通过一张图来理解下: Spri ...

随机推荐

  1. Java7.10

    很不能理解以下代码的问题???

  2. C++练习4 引用的定义与使用

    使用 & 为变量和常量作为引用 1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int oneInt ...

  3. Vue急速入门-5

    vue-cli创建项目 前端工程化,项目>>>(vue-cli),创建处vue项目,单页面应用(spa) vue-cli创建项目开发,在项目中开发,最后上线,一定要编译 '纯粹的ht ...

  4. JZOJ 2022.07.18【提高组A】模拟

    \(\text{T1}\) 很容易想到用 \(f_1 f_2 ... f_k\) 来表示第 \(n\) 项 发现重点关注指数即可,即我们要递推 \(f_1 ... f_k\) 对应的指数 递推涉及 \ ...

  5. HashTable HashMap concurrentHashMap区别

    HashTable HashMap concurrentHashMap区别 HashMap.HashTable.ConcurrentHashMap都是map接口的实现类 1.(同步性)HashTabl ...

  6. Openfoam UPstream类探索

    前言 上篇文章我们大体捋顺了Pstream类,但上篇没有讲到的是Pstream类很多东西是从UPstream类继承来的 这次我们大体看一下UPstream类,以避免Pstream类内很多继承来的东西不 ...

  7. corundum:100G NIC 学习:(一)

    2021-10-03 17:13:47 目标:在Linux环境下,基于VCU118板卡恢复出100G corundum NIC. 一.Corundum简介 GitHub repository: htt ...

  8. 2、flex最后不对齐问题

    https://www.zhangxinxu.com/wordpress/2019/08/css-flex-last-align/

  9. vue3学习

    资料: http://docs.vikingship.xyz/ 声明类型:      1.使用ref可以声明基础数据 2.使用reactive声明对象数据 3.computed可以返回一个不变的响应式 ...

  10. MATLAB批量处理表格类型文件

    MATLAB版本2020b 问题背景:预处理数据,有若干变压器温度表格,要将变压器运行温度数据提取出来 通过LSTM模型进行温度预测