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. 【EFCore框架】支持多数库 、支持读写分离框架、支持事务提交保存、跨库实现事务

    1.支持多数库: 数据库上下文实现 多数据支持: 2. 支持读写分离框架(支持多从库随机) 工作单元(以及仓储)实现读写分离 配置文件: 3. 支持事务提交保存 工作单元 实现事务数据统一提交保存 具 ...

  2. 2.4.rpx单位有内置的视图容器组件

    所有的视图组件,包括view.swiper等,本身不显示任何可视化元素.它们的用途都是为了包裹其他真正显示的组件. # view 视图容器. 它类似于传统html中的div,用于包裹各种元素内容. 如 ...

  3. T-SQL——数字辅助表

    目录 0.永久性的连续数字表 1.使用系统表:master..spt_values 2.使用递归CTE 3.使用0-9乘以量级交叉连接 4.使用2的次幂和CTE生成和交叉链接 创建表值函数 5.数字辅 ...

  4. HashSet()相关易错点

    package homework_;import java.util.HashSet;import java.util.Objects;/* * @author YAM */public class ...

  5. ORACLE数据库相关操作

    表操作 -- 截断表 TRUNCATE TABLE TABLE_NAME; -- 删除表 DROP TABLE TABLE_NAME; -- 查询表 SELECT * FROM TABLE_NAME; ...

  6. JZOJ 1090. 【SDOI2009】晨跑

    题目 略,luogu上有 解析 一眼费用流 然而怎么建图? 首先我们要挖掘题中的限制条件和性质 一个点只能经过一次 能走的天数最长 满足第二条的条件下走过的路程最短 那么显然是最小费用最大流了 对于后 ...

  7. Os-hackNos

    Os-hackNos 目录 Os-hackNos 1 环境配置 1.1 靶场环境 1.2 靶机未获取到IP时配置 2 信息收集 2.1 端口扫描 2.2 目录扫描 3 对Drupal 7.57版本安全 ...

  8. div 元素内容超出可通过鼠标滚轮实现横向滚动

    移动端中的元素内容超出时,对容器设置overflow-x: auto就可以通过手势水平移动.但是 PC 端只能通过鼠标滚轮上下滑动,而不能水平移动. 只需要给元素添加一个监听鼠标滚轮事件,上下滑动时修 ...

  9. pytorch学习笔记五之通过示例学习

    1.概述¶   PyTorch 的核心是提供两个主要功能: n 维张量,类似于 NumPy,但可以在 GPU 上运行 用于构建和训练神经网络的自动微分   我们将使用将三阶多项式拟合y = sin(x ...

  10. python中的字符串的常用方法介绍

    a = "alxe Li 金角大王"     #创建一个字符串来演示方法的功能结果.一下都使用这个字符串演示. 首先要了解的常识性的知识点是:字符串是不可变的序列.所有对字符串的内 ...