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 ...
随机推荐
- 如何理解Spring框架中的ioc?
目录 如何理解Spring框架中的ioc? DI 耦合和内聚 如何理解Spring框架中的ioc? ioc,Inversion of Control(控制反转),是Spring中的一种设计思想而非技术 ...
- 亲测有效! Bypass V1.15.5 12306分流抢票助手 for Windows
亲测有效! Bypass V1.15.5 12306分流抢票助手 for Windows 12306Bypass也就是12306分流抢票软件,是一款全程自动抢票,自动识别验证码,多线程秒单.稳定捡漏, ...
- PopClip使用教程图文详解 2022.12亲测有效
PopClip简介 PopClip mac版是Macos上一款增强型复制粘贴工具,当你选中文字后,PopClip会自动弹出复制.剪切.粘贴.搜索等等操作,除了复制粘贴外,PopClip还提供了很多的扩 ...
- 项目与自身毕设对比整理规划6 330 done
3.30 没用呢- - 功夫不负有心人啊啊啊啊啊啊啊啊啊啊啊啊啊啊 成功了- - 但是很可恶 需要把数据返回然后放在那个文件里面才可以 现在就是问题就是返回数据的时候需要把这个文件存成数据接口 fin ...
- springboot如何在拦截器中拦截post请求参数以及解决文件类型上传问题
我们经常有这样一个场景,比如:在springboot拦截器中想截取post请求的body参数做一些中间处理,或者用到自定义注解,想拦截一些特定post请求的方法的参数,记录一些请求日志. 想到了使 ...
- .net core 前端传递参数有值 后端接收到的数据却是null
1.问题分析 在做接口测试时,偶然出现了前端输出有值,但是后端断点调试时却出现接收参数总是为null的情况 2.解决办法 前端打印log,看前端的每一个传值的数据类型,与后端请求参数类进行认真的一一比 ...
- Typescript 回调函数、事件侦听的类型定义与注释--拾人牙慧
实际项目中会运到的 Typescript 回调函数.事件侦听的类型定义,如果刚碰到会一脸蒙真的,我就是 这是第一次我自己对 Typescript 记录学习,所以得先说一下我与 Typescript 的 ...
- 有趣的python库-tkinter
tkinter-GUI编程用 与pyqt.wxpython一样,python三大gui库之一,用来写图形化界面很有意思,下面举个整蛊小例子. 实现烦人的弹窗 import tkinter as tk, ...
- redis(4)String字符串
前言 Redis中有5大数据类型,分别是字符串String.列表List.集合Set.哈希Hash.有序集合Zset,本篇介绍Redis的字符串String Redis字符串 String是Redis ...
- CCRD总目录(2007年至今,动态更新中)
中信国健临床通讯总目录 (动态更新.末次更新: 2015-07-06) 年份 目录网址 2010年 1.2010年第01期 (或者浏览有备注的目录: 2010年第01期 ) 2. 2010年第02期 ...