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. JAVA虚拟机24---线程安全

    1 什么叫线程安全 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果 ...

  2. icofx把图片转为ico图标、icofx 教程

    免费的图标编辑工具 icofx的介绍 IcoFX 是一款免费的图标编辑工具,让您轻松创建 Windows XP 和 Windows Vista 图标.在编辑区您可以轻松的预览.保存.更改您的图标.您可 ...

  3. JS 格式化时间字符串

    // 格式时间字符串 formatDateTimeStr(date, type) { if (date === '' || !date) { return '' } var dateObject = ...

  4. javaEE(常用API集合<Collection和Map>)

    javaEE 常用API Object类 public String toString() //打印地址 :类的全类名@内存地址 存在的意义:为了被子类去重写,以便于返回对象的内容信息,而不是地址信息 ...

  5. odoo 给列表视图添加按钮实现数据文件导入

    实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 模块文件组织结构 说明:为了更好的表达本文主题,一些和主题无关的文件.代码已略去 odoo14\cus ...

  6. Cesium CallbackProperty(十五)

    Cesium中的entities可以随时间变化长度高度,主要依赖于CallbackProperty函数. 因为使用CallbackProperty,cesium中一切可视化的要素都可以与时间联系起来. ...

  7. 如何在Net6.0里配置多版本支持并支持注释说明的Swagger

    一.前言 现在已经进入了微服务的开发时代了,在这个时代,如果有人问你什么是微服务,你说不知道,就有点太丢人了,别人会有异样的眼光看你,俗话说:唾液淹死人.没办法,我们只能去学习新的东西.一提到微服务, ...

  8. Java基础语法:类型转换、变量、常量

    Java基础语法:类型转换.变量.常量 类型转换 低---------->高 byte,short,char->int->long->float->double 从高到低 ...

  9. day06-动态SQL语句

    动态SQL语句 1.基本介绍 官方文档 mybatis – MyBatis 3 | 动态 SQL 为什么需要动态SQL? 动态SQL是MyBatis的强大特性之一 使用 JDBC 或其他类似的框架,根 ...

  10. windows11 安装跳过互联网验证

    按住shift+F10   cmd 输入  OOBE\BYPASSNRO 电脑重启后 出现 跳过得按钮