springboot validation,springboot自定义参数校验
目录
1.添加依赖直接添加冬眠-验证程序添加弹簧启动启动器验证添加spring-boot-starter-web2 .配置文件3.统一异常处理4.使用
1.添加依赖
直接添加hibernate-validator
相关性groupIdorg.hibernate.validator/groupId人工冬眠-验证器/version6.0.2.Final/version/工艺品相关性
添加spring-boot-starter-validation
依赖性groupIdorg.springframework.boot/groupId人工弹簧-启动-启动-验证/version1.4.0.RELEASE/version/人工弹簧依赖性
添加spring-boot-starter-web
依赖关系groupIdorg.springframework.boot/groupId artifact id spring-boot-starter-web/artifact id/依赖关系
2. 配置文件
如果想要设置失败_快速属性的话,真的表示有一个参数出错即返回,默认的时检验所有的参数,那么必须要有配置文件
导入org。冬眠。验证器。hibernate验证程序;导入org。spring框架。语境。注释。豆;导入org。spring框架。语境。注释。配置;导入组织。spring框架。验证。bean验证。methoddvalidationpostprocessor;导入org。spring框架。验证。bean验证。springvalidatoradapter导入org。spring框架。网络。servlet。配置。注释。webmvcconfigureradapter导入javax。验证。验证;导入javax。验证。验证器;导入javax。验证。验证器工厂;/** *休眠参数验证配置*/@配置公共类验证器配置扩展WebMvcConfigurerAdapter { @ Bean公共验证器Validator(){验证器工厂验证器工厂=验证。由提供者(hibernate验证程序。类).configure() //将失败_快速设置为真实的即可,如果想验证全部,则设置为错误的或者取消配置即可。failFast(true)//.添加属性( hibernate。验证器。fail _ fast , true ).buildValidatorFactory();返回验证器工厂。获取验证程序();} /** * requestParam方式的校验* @ return */@ Bean公共方法验证后处理器方法验证后处理器(){方法验证后处理器方法验证后处理器=新方法验证后处理器();方法验证后处理器。设置验证器(validator());返回方法methodValidationPostProcessor } @ Override public org。spring框架。验证。validator get validator(){返回新的springvalidator适配器(validator());}}其中方法验证后处理器是对默认值起作用
继承WebMvcConfigurerAdapter并且重写getValidator()方法,是让弹簧的请求校验验证器使用我们上边的验证器,让设置的快速失效生效,具体可参考org。spring框架。网络。servlet。配置。注释。webmvcconfigurationsupport # MVC验证器方法
3.统一异常处理
/** *休眠-有效实体类形式接受参数验证失败* @ param ex * @ return */@异常处理程序(绑定异常。class)@ response body公共web结果验证错误处理程序(bind exception ex){ ListString collect=ex。getbinding结果().getAllErrors().流()。映射(对象错误:3360 getdefaultmessage).收藏(收藏者。to list());返回新的网页结果(错误。不正确的_PARAM_FORMAT.getError(),StringUtils.join(collect,;));} /** *休眠-有效实体类形式接受参数验证失败* @ param ex * @ return */@异常处理程序(methodgargumentnotvaliexception。class)@ response body公共web结果验证错误处理程序(methodgargumentnotvaliexception ex){ ListString collect=ex。getbinding结果().getAllErrors().流()。映射(对象错误:3360 getdefaultmessage).收藏(收藏者。to list());返回新的网页结果(错误。不正确的_PARAM_FORMAT.getError(),StringUtils.join(collect,;));} /** * RequestParam方式参数校验* @ param ex * @ return */@异常处理程序(ConstraintViolationException。class)@ response body公共web结果验证错误处理程序(ConstraintViolationException ex){ ListString错误信息=ex。getconstraintviolations().流()。映射(违反约束:3360 getmessage).收藏(收藏者。to list());返回新的网页结果(错误。不正确的_PARAM_FORMAT.getError(),string utils。join(错误信息,;));}
4.使用
如果是@RequestParam这样直接写参数校验的话,在类上或者对应方法上加上验证注解,如果是实体类接受的话,在参数中的实体前加上@有效即可
到此这篇关于跳羚使用确认做参数校验说明的文章就介绍到这了,更多相关跳羚参数校验内容请搜索盛行信息技术以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行它!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。