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)
spring@Validated校验用法的更多相关文章
- spring 参数校验
1.了解下资源文件加载 MessageSource 需要国际化处理时使用这个类 (在需要处理国际化的地方使用messageSource.getMessage(this.getResponseCod ...
- SpringMVC +mybatis+spring 结合easyui用法及常见问题总结
SpringMVC +mybatis+spring 结合easyui用法及常见问题总结 1.FormatString的用法. 2.用postAjaxFillGrid实现dataGrid 把form表单 ...
- Spring中@Async用法详解及简单实例
Spring中@Async用法 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类 ...
- spring @Validated 注解开发中使用group分组校验
之前知道spring支持JSR校验,在自己定义的bean中加入@NotNull,@NotBlank,@Length等之类的校验用于处理前台传递过来的request请求,避免在写多余的代码去处理. 但是 ...
- spring的校验框架 @Validated & BindingResult
controller上写法类似这样: @RequestMapping(value = "saleInfoList.json", method = RequestMethod.GET ...
- (转)Spring中@Async用法总结
原文:http://blog.csdn.net/blueheart20/article/details/44648667 引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的: ...
- spring 数据校验之Hibernate validation
1.需要的jar包 2.springsevlet-config.xml配置 在spring3之后,任何支持JSR303的validator(如Hibernate Validator)都可以通过简单配置 ...
- Spring中@Async用法总结
引言: 在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的:但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在Spring 3. ...
- Spring 捕捉校验参数异常并统一处理
使用 @Validated ,@Valid ,@NotBlank 之类的,请自行百度,本文着重与捕捉校验失败信息并封装返回出去 参考: https://mp.weixin.qq.com/s/EaZxY ...
- spring AOP的用法
AOP,面向切面编程,它能把与核心业务逻辑无关的散落在各处并且重复的代码给封装起来,降低了模块之间的耦合度,便于维护.具体的应用场景有:日志,权限和事务管理这些方面.可以通过一张图来理解下: Spri ...
随机推荐
- 亲测有效! Studio One 6 V6.0.1 音乐编曲工具 含win/mac版
亲测有效! Studio One 6 V6.0.1 音乐编曲工具 含win/mac版 记录.生产.混合.掌握和执行所有操作.从工作室到舞台,Studio One6以易用为核心,是您的创意合作伙伴.当 ...
- MRS+LakeFormation:打造一站式湖仓,释放数据价值
摘要:华为LakeFormation是企业级的一站式湖仓构建服务. 本文分享自华为云社区<华为云MRS支持LakeFormation能力,打造一站式湖仓,释放数据价值]>,作者:break ...
- P18_Day2.学习目标
能够使用 WXML 模板语法渲染页面结构 能够使用 WXSS 样式美化页面结构 能够使用 app.json 对小程序进行全局性配置 能够使用 page.json 对小程序页面进行个性化配置 能够知道如 ...
- python爬虫(含scrapy)
python爬虫 1.解析HTML: lxml 是一种python编写的库,可以迅速.灵活的处理xml和html 使用:根据版本的不同,有如下两种: 形式1: from lxml import etr ...
- JZOJ 4308.长寿花
题面 思路 这种题当然要 \(dp\) 啦 设 \(g_{i,j}\) 表示前 \(i\) 个位置用指定的 \(j\) 种颜色装饰(即用颜色 \(1..j\) 来装饰) 那么 \(g_{i,j}=g_ ...
- Gear_Of_War#1
Gear_Of_War#1 目录 Gear_Of_War#1 1 信息收集 1.1 端口扫描 1.2 后台目录扫描 1.3 SMB服务安全分析 2 GetShell 2.1 ssh登录marcus用户 ...
- axSpA患者新发炎症更容易发生在既往发生过炎症的区域
axSpA患者新发炎症更容易发生在既往发生过炎症的区域 EULAR2015; PresentID: SAT0240 NEW INFLAMMATORY LESIONS IN AXIAL SPONDYLO ...
- 代码随想录算法训练营day09 | leetcode 28. 实现 strStr()
LeetCode 28. 实现 strStr() 牢记一点:next[i] 元素表示[0,i]子串的最长相等前后缀个数,也是模式串与主串匹配不相等时模式串的下一个比较索引 分析1.0 前缀是指不包含最 ...
- [{"morpherRegistry":{},"dynaClass":{"dynaProperties":[{"indexed":false,"mapp
将list存到json中后,json返回的内容是[{"morpherRegistry":{},"dynaClass":{"dynaProperties ...
- pg高可用方案repmgr带witness搭建
一.总体架构 操作系统版本: linux redhat7.6pg版本: 12.2repmgr版本 5.2192.168.3.73 主库: repmgr+master192.168.3.74 从库1: ...