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

视频点播网站开发网站备案流程核验单

视频点播网站开发,网站备案流程核验单,合肥网站建设外包,电子商务网站开发实践校验的简单使用#xff1a; 在Spring中#xff0c;我们可以使用Valid注解对实体进行校验。在Controller的方法参数中添加Valid注解#xff0c;然后在实体类的属性上添加校验注解#xff0c;例如NotNull、Size等。例如#xff1a; RestController public class UserContr…校验的简单使用 在Spring中我们可以使用Valid注解对实体进行校验。在Controller的方法参数中添加Valid注解然后在实体类的属性上添加校验注解例如NotNull、Size等。例如 RestController public class UserController {PostMapping(/users)public ResponseEntityUser createUser(Valid RequestBody User user) {userService.createUser(user);return new ResponseEntity(user, HttpStatus.CREATED);} } 在这个例子中我们使用Valid注解对User实体进行校验并在User类的属性上添加了NotNull和Size注解。当请求到达Controller时Spring会自动对User实体进行校验如果校验失败则会抛出MethodArgumentNotValidException异常。我们可以使用ControllerAdvice和ExceptionHandler来处理校验异常并返回自定义的错误信息。例如 ControllerAdvice public class GlobalExceptionHandler {ExceptionHandler(MethodArgumentNotValidException.class)public ResponseEntityErrorResponse handleValidationException(MethodArgumentNotValidException ex) {BindingResult result ex.getBindingResult();ListFieldError fieldErrors result.getFieldErrors();ListString errors new ArrayList();for (FieldError fieldError : fieldErrors) {errors.add(fieldError.getField() : fieldError.getDefaultMessage());}ErrorResponse errorResponse new ErrorResponse(HttpStatus.BAD_REQUEST, Validation failed, errors);return new ResponseEntity(errorResponse, HttpStatus.BAD_REQUEST);} } 在这个例子中我们使用ControllerAdvice注解来定义全局的异常处理器并使用ExceptionHandler注解来处理MethodArgumentNotValidException异常。在处理过程中我们从异常中获取校验结果并转换成自定义的错误信息然后封装成ErrorResponse对象并返回。如果请求中包含了校验错误Spring会自动调用该处理器并返回错误信息。 Valid Validated 有什么区别 Valid和Validated注解都可以用于实体类属性的校验。它们的主要区别在于支持的校验分组和校验器的不同。 Valid注解只支持默认分组即没有使用任何分组的校验注解。它使用的是javax.validation包下的校验器。 Validated注解支持分组校验即可以使用指定分组的校验注解进行校验。它使用的是Spring自己的校验器支持JSR-303和JSR-349规范。 此外Validated 注解还可以用于方法级别的校验例如 Service public class UserService {Validatedpublic void createUser(NotNull User user) {//...} } 在这个例子中我们使用Validated注解对createUser方法进行校验并使用NotNull注解对User参数进行非空校验。如果校验失败Spring会抛出ConstraintViolationException异常。 Spring 是如何实现校验的 简单理解 在Spring中我们可以使用NotBlank注解对字符串进行非空校验。在实体类的属性上添加NotBlank注解即可。例如 public class User {NotBlankprivate String username;//... } 在这个例子中我们使用NotBlank注解对username属性进行非空校验。当请求到达Controller时Spring会自动对User实体进行校验如果校验失败则会抛出MethodArgumentNotValidException异常。 深入理解 在Spring中在方法执行前执行校验注解的过程是由MethodValidationInterceptor拦截器实现的。这个拦截器会在方法调用前执行校验注解如果校验失败会抛出异常。在拦截器中会先获取方法上的校验注解然后根据注解的类型调用不同的校验器进行校验。如果校验失败会抛出ConstraintViolationException异常。 MethodValidationInterceptor会被Spring的其中一个BeanPostProcessor MethodValidationPostProcessor在Bean初始化时作为默认的方法校验增强器进行创建。 整体理解 当Spring框架在执行方法时会先查找是否存在MethodValidationPostProcessor后置处理器。如果存在它会在方法执行之前执行校验注解的过程。 MethodValidationPostProcessor后置处理器会在BeanPostProcessor的postProcessBeforeInitialization方法中执行具体流程如下 Spring容器启动时会扫描所有的BeanDefinition包括MethodValidationPostProcessor。当容器实例化MethodValidationPostProcessor时会调用BeanPostProcessor的postProcessBeforeInitialization方法。在postProcessBeforeInitialization方法中MethodValidationPostProcessor会检查Bean是否包含Validated注解并生成一个代理对象。当原始Bean方法被调用时代理对象会执行校验注解的过程。如果校验失败会抛出异常。如果代理对象的校验通过会调用原始Bean方法并返回结果。 综上所述Spring解析Valid的过程主要涉及到MethodValidationPostProcessor后置处理器在BeanPostProcessor的postProcessBeforeInitialization方法中生成代理对象并在方法执行前执行校验注解的过程。 校验所需的依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactIdversion2.7.10/versionexclusionsexclusionartifactIdspring-boot-starter-logging/artifactIdgroupIdorg.springframework.boot/groupId/exclusionexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/exclusion/exclusions /dependency 如果是SpringBoot项目需要注意判断是否已经存在必须的依赖 spring-boot-starter-validation注意如果Spring-boot的版本大于3.0必须最第使用JDK17。上面的依赖版本是3.0以下可用的最高版本。
http://www.w-s-a.com/news/202132/

相关文章:

  • 做直播网站赚钱公司网站空间怎么续费
  • 企业网站制作公司有哪些太原网站建设 thinkphp3.2
  • 云集网站哪个公司做的百度竞价排名怎么做
  • 做网站公司赚钱吗网站建设英语翻译
  • 网络公司除了做网站产品设计作品
  • dede网站模板替换湘潭建设路街道网站
  • 东莞网站优化效果如何网络设计工作
  • 网站备案系统验证码出错的解决方案任丘建设银行网站
  • 个人博客建站wordpress叮当app制作
  • 网站式的公司记录怎么做二手书网站策划书
  • 营销型网站的建设重点是什么帝国程序和WordPress
  • 正能量网站推荐不需要下载巴中网站建设开发公司
  • 学生模拟网站开发西安seo平台
  • 免费的app推广平台免费网站seo
  • 建一个个人网站网站建设中小企业广西
  • 优惠券网站做淘客违规吗个人建网站运营.
  • 旅游网站制作建设华大基因 网站建设
  • sem推广竞价托管南京seo网站优化
  • 网站优化网站建站教程网站建设 成都
  • 网站 配色表html代码在线
  • 城乡和建设部建造师网站众筹平台网站建设
  • 外贸网站模板免费下载微网站制作软件
  • 一个新的网站怎么做宣传技术先进的网站建
  • 福建网站建设有限公司需求网站
  • 生物科技企业网站做的比较好的企业培训网站模板
  • 南京 高端网站建设网站备案密码怎么找回
  • 蛋糕店网站模板建设电子商务系统网站
  • 海口网站建设优化公司网站开发要加班吗
  • 建设一个网站需要注意哪些要求群晖的网站开发
  • 精通网站开发阅读网页视频下载慢怎么办