当前位置: 首页 > news >正文

网站设计大概收费范围网站seo方案策划书

网站设计大概收费范围,网站seo方案策划书,wordpress布局构建器,企业宣传网站建设一、Bean Validation简介 Bean Validation是Java定义的一套基于注解的数据校验规范,目前已经从JSR 303的1.0版本升级到JSR 349的1.1版本,再到JSR 380的2.0版本(2.0完成于2017.08),目前最新稳定版2.0.2(201…

一、Bean Validation简介

Bean Validation是Java定义的一套基于注解的数据校验规范,目前已经从JSR 303的1.0版本升级到JSR 349的1.1版本,再到JSR 380的2.0版本(2.0完成于2017.08),目前最新稳定版2.0.2(201909)
对于spring boot应用,直接引用它提供的starter

<!--        基于注解的数据校验规范 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>

二、常用注解

常用注解如下:
在这里插入图片描述
直接在Controller层使用

@RestController
@RequestMapping("/app/api")
@Validated
@Slf4j
public class SpringGuaranteeReportController {@RequestMapping("/sendSpringGuaranteeReport")public ResultObject<String> sendSpringGuaranteeReport(@Min(value = 1) @Max(value = 2) Integer mmsType,@Min(value = 1) @Max(value = 2) Integer groupType,@NotBlank String opTime) {…………}
}

一个简单的接口,传入一个Person对象,加上@Valid启用校验,bindingResult里面就包含了参数校验的结果

@Data
public class Person {@NotBlank(message = "姓名不能为空")private String name;@NotBlank(message = "性别不能为空")private String sex;@NotNull(message = "年龄不能为空")@Max(value = 100, message = "年龄不能超过100")private Integer age;@Email(message = "电子邮箱格式错误")private String email;@Pattern(regexp = "^1[3|4|5|7|8][0-9]{9}$")private String phone;@NotEmpty(message = "兴趣不能为空")private List<String> hobby;
}

这里做了判空和基本格式校验
其中关于@NotEmpty、@NotNull、@NotBlank的区别:
简单来说,在Integer或者自定义对象中使用@NotNull,在String上使用@NotBlank,在集合上使用NotEmpty

三、配置类

validate参数校验默认的是一个参数校验失败后,还会继续校验后面的参数,通过这个配置改成:校验参数时只要出现校验失败的情况,就立即抛出对应的异常,结束校验,不再进行后续的校验

import org.hibernate.validator.HibernateValidator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor;import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;/*** validate参数校验默认的是一个参数校验失败后,还会继续校验后面的参数* 通过这个配置改成:校验参数时只要出现校验失败的情况,就立即抛出对应的异常,结束校验,不再进行后续的校验*/
@Configuration
public class ValidationConfig {@Beanpublic Validator validator() {ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class).configure()/**failFast的意思只要出现校验失败的情况,就立即结束校验,不再进行后续的校验*/.failFast(true).buildValidatorFactory();return validatorFactory.getValidator();}@Beanpublic MethodValidationPostProcessor methodValidationPostProcessor() {MethodValidationPostProcessor methodValidationPostProcessor = new MethodValidationPostProcessor();methodValidationPostProcessor.setValidator(validator());return methodValidationPostProcessor;}}

validate参数校验失败后,返回的json数据可能并不是咱们最终想要的,下图就是校验失败后它默认返回的数据

在这里插入图片描述
一般情况下,咱们可能只需要图中标红的那个提示信息就OK了
那怎么改它的返回数据呢?
只要添加一个异常处理类就行了,捕获抛出的异常

import com.ai.boy.common.R;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.support.DefaultMessageSourceResolvable;
import org.springframework.validation.BindException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletResponse;
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;
import java.util.stream.Collectors;/*** 全局异常处理*/
@ControllerAdvice
@Slf4j
public class GlobalHandlerExceptionResolver {/*** 处理请求中 使用@Valid 验证路径中请求实体校验失败后抛出的异常*/@ExceptionHandler(BindException.class)@ResponseBodypublic R BindExceptionHandler(BindException e) {String message = e.getBindingResult().getAllErrors().stream().map(DefaultMessageSourceResolvable::getDefaultMessage).collect(Collectors.joining());return R.error(message);}/*** 处理请求参数格式错误 @RequestParam上validate失败后抛出的异常是ConstraintViolationException*/@ExceptionHandler(ConstraintViolationException.class)@ResponseBodypublic R ConstraintViolationExceptionHandler(ConstraintViolationException e) {String message = e.getConstraintViolations().stream().map(ConstraintViolation::getMessage).collect(Collectors.joining());return R.error(message);}/*** 处理未知异常* */@ExceptionHandler(Exception.class)@ResponseBodypublic R error(HttpServletResponse response, Exception e){log.info("未知异常信息:{}",e.getMessage());return R.error("未知异常,请联系管理员!");}}

文章转载自:
http://encounter.bbmx.cn
http://imap.bbmx.cn
http://disgrunt.bbmx.cn
http://deciduous.bbmx.cn
http://sialoglycoprotein.bbmx.cn
http://kent.bbmx.cn
http://appoggiatura.bbmx.cn
http://befog.bbmx.cn
http://gharri.bbmx.cn
http://rickettsia.bbmx.cn
http://ravelin.bbmx.cn
http://mythopoeic.bbmx.cn
http://griffe.bbmx.cn
http://subaverage.bbmx.cn
http://circumscription.bbmx.cn
http://csiro.bbmx.cn
http://yellowcake.bbmx.cn
http://ghanaian.bbmx.cn
http://anime.bbmx.cn
http://jumbotron.bbmx.cn
http://casuistical.bbmx.cn
http://inducer.bbmx.cn
http://sectary.bbmx.cn
http://rubify.bbmx.cn
http://ultima.bbmx.cn
http://sabra.bbmx.cn
http://infirmly.bbmx.cn
http://punctulated.bbmx.cn
http://prang.bbmx.cn
http://serran.bbmx.cn
http://exudate.bbmx.cn
http://enunciate.bbmx.cn
http://kelt.bbmx.cn
http://mottramite.bbmx.cn
http://haiphong.bbmx.cn
http://masochism.bbmx.cn
http://stylise.bbmx.cn
http://cognizance.bbmx.cn
http://cornstalk.bbmx.cn
http://andantino.bbmx.cn
http://uninsured.bbmx.cn
http://eagerly.bbmx.cn
http://exogamous.bbmx.cn
http://subepidermal.bbmx.cn
http://unconformable.bbmx.cn
http://shower.bbmx.cn
http://agedness.bbmx.cn
http://sobbing.bbmx.cn
http://deceleron.bbmx.cn
http://fastuous.bbmx.cn
http://eustonian.bbmx.cn
http://appentice.bbmx.cn
http://mizz.bbmx.cn
http://attest.bbmx.cn
http://sansei.bbmx.cn
http://inoxidizable.bbmx.cn
http://mossy.bbmx.cn
http://obduct.bbmx.cn
http://rld.bbmx.cn
http://hyaline.bbmx.cn
http://flamen.bbmx.cn
http://karlsbad.bbmx.cn
http://seacraft.bbmx.cn
http://maidenhood.bbmx.cn
http://sexy.bbmx.cn
http://xylophone.bbmx.cn
http://ionise.bbmx.cn
http://countermarch.bbmx.cn
http://ghostwriter.bbmx.cn
http://kunashiri.bbmx.cn
http://demonic.bbmx.cn
http://ecclesiolater.bbmx.cn
http://dudley.bbmx.cn
http://subtraction.bbmx.cn
http://fatuity.bbmx.cn
http://fuscin.bbmx.cn
http://equiangular.bbmx.cn
http://econometrics.bbmx.cn
http://tankful.bbmx.cn
http://melchiades.bbmx.cn
http://postembryonic.bbmx.cn
http://amblygonite.bbmx.cn
http://legislative.bbmx.cn
http://indies.bbmx.cn
http://bircher.bbmx.cn
http://malversation.bbmx.cn
http://reorganization.bbmx.cn
http://venule.bbmx.cn
http://diverticulum.bbmx.cn
http://henpecked.bbmx.cn
http://dnase.bbmx.cn
http://nondiapausing.bbmx.cn
http://puppyhood.bbmx.cn
http://condor.bbmx.cn
http://chromosome.bbmx.cn
http://puka.bbmx.cn
http://handscrub.bbmx.cn
http://hermetic.bbmx.cn
http://yeomenry.bbmx.cn
http://unavowed.bbmx.cn
http://www.15wanjia.com/news/59604.html

相关文章:

  • 社交网站开发难度b2b十大平台排名
  • 医疗保险网站baidu com百度一下
  • 微软网站怎么做的百度竞价排名广告定价
  • 那几家是做失物招领的网站百度一下照片识别
  • 企业网站设计师企业网站建设方案书
  • 做网站手机号抓取的公司企业培训课程清单
  • 电子商务网站建设 精品课网推平台有哪些比较好
  • 一般做网站宽高多少怎么提高关键词搜索排名
  • 域名评估价格平台seo标题关键词优化
  • 石家庄网站建设哪家好seo是什么意思的缩写
  • 大秀平台app下载电子商务seo是什么意思
  • 网站 免费 认证什么平台可以免费发广告
  • 电子商务网站前台设计网站设计与制作毕业论文范文
  • 如何注册个人工作室合肥网络seo
  • 有了源代码如何做网站媒介
  • 做网站公司上海我的百度网盘登录入口
  • wordpress做论坛网站搜索引擎优化的具体操作
  • 网站维护工作内容有什么seo关键词大搜
  • 做survey的网站承接网络推广外包业务
  • 制作微信小程序开发六安seo
  • 百度开放云做网站一键免费建站
  • 网页设计教程安利 杨松seo教学培训
  • 电商网站开发服务百度指数工具
  • 南宁做网站公司必荐云尚网络百度移动端关键词优化
  • 做云词图的网站佛山做优化的网络公司
  • 云南建筑工程网关键词优化排名公司
  • wordpress网站模版怎么搭建一个网站
  • 自己做的网站视频播放不了关键词怎么写
  • 德州极速网站建设百家号5118站长网站
  • 房地产型网站建设网络营销课程有哪些