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

网站建设怎么进行一级域名申请破解版手游app平台

网站建设怎么进行一级域名申请,破解版手游app平台,适合企业员工培训的课程,网站怎么样做不违规文章目录 前言Bean Validation注解 实践出真知异常处理 总结 前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到网站。 前言 工作中我们经常会遇到验证字段是否必填#xff0c;或者字段的值是否… 文章目录 前言Bean Validation注解 实践出真知异常处理 总结 前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站。 前言 工作中我们经常会遇到验证字段是否必填或者字段的值是否在给定范围之内等等类似的问题如果说是一两个字段的验证还好验证的字段很多的话代码就会被大量的if语句包围。通常来说这些关于字段的判断应该和业务逻辑分开来可能我们想到的第一个解决方案就是通过AOP这也能解决我们的问题的。但实际上大可不必作为一个成熟的语言Java已经给我们提供解决方案了那就是Bean Validation。 Bean Validation JSR-303是Java EE 6中的一项子规范名为Bean Validation这是Bean Validation 1.0 版本目前已发展到到3.0版本名为Jakarta Bean Validation 3.0。Bean Validation提供了一个数据验证的框架用于对Java Bean中的字段的值进行验证。它使得基本的验证逻辑可以从业务代码中脱离出来成为一个独立的验证层。 JSR-303的官方参考实现是Hibernate Validator。Hibernate Validator提供了JSR 303规范中所有内置约束的实现除此之外还有一些附加的约束。 这种验证机制是运行时的也就是说在验证之后如果数据不符合指定的约束那么会立即返回错误信息。 总之JSR-303 为Java应用程序提供了一种方便、灵活且强大的数据验证方式。 注解 JSR-303 提供了一系列注解用于在Java中进行数据校验。这些注解主要用于对实体类的属性进行约束以确保数据的有效性。 以下是一些常用的JSR-303 validation注解 NotNull用于对象的校验确保对象不为null。NotBlank验证对象是否不为空相比NotNull会去掉首尾空格对象类型为CharSequence。NotEmpty 验证对象如数组、Collection集合、Map、String是否不为NULL并且长度或者大小不为空 。Size用于验证对象如数组、Collection集合、Map、String的长度或大小是否在给定的范围之内。Pattern验证字符串是否匹配指定的正则表达式null值被认为是有效的格式。Email验证是否符合电子邮件格式。Min验证数字是否大于等于指定值Max验证数字是否小于等于指定值。AssertTrue验证Boolean对象是否为true。AssertFalse验证Boolean对象是否为false。NotBlank验证CharSequence 对象非null且长度必须大于0。DecimalMin(value)被注解的对象必须是一个数字其值必须大于等于指定的最小值对象类型可以为 BigDecimal、BigInteger、CharSequence。DecimalMax被注解的对象必须是一个数字其值必须小于等于指定的最大值。Digits(integer,fraction)被注解的元素必须是一个数字其值必须在指定的整数和小数部分的最大位数的范围之内。Past被注解的元素必须是一个过去的日期。Future被注解的元素必须是一个将来的日期。FutureOrPresent被注解的元素必须是现在或将来的一个瞬间、日期或时间。PositiveOrZero被注解的元素必须为正数或零。Positive被注解的元素必须是正数不包括0。NegativeOrZero被注解的元素必须为负数或零。Negative被注解的元素必须是负数不包括0。Null被注解的元素必须是NULL。 Hibernate Validator 附加的约束注解 Hibernate Validator 8.0.1官方链接 感兴趣的可以去看看。 实践出真知 下面通过代码演示一下Springboot 中字段验证的使用。 1. 引入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdscopeprovided/scope /dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId /dependency2. 创建Bean 用于校验 Data public class UserBean {NotEmptyprivate String username;Min(value 18)private Integer age;Email(message 邮箱格式不正确)private String email; }3. 创建访问接口 接口中要使用 Validated 或者 Valid使Bean 验证生效下一篇文章 Validated 和 Valid 之间的区别。 RestController RequestMapping(validation) public class ValidationController {GetMapping(user)public UserBean getUserBean(Validated UserBean userBean) {return userBean;} }4. 使用postman进行测试 因为username校验不通过所以postman响应结果如下响应结果不够友好下面会进行改造 {timestamp: 2024-02-28T09:15:23.92500:00,status: 400,error: Bad Request,path: /validation/user }控制台打印结果比较详细 2024-02-28T17:15:23.91808:00 WARN 24752 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.bind.MethodArgumentNotValidException:Validation failed for argument [0] in public site.suncodernote.validation.UserBean site.suncodernote.validation.ValidationController.getUserBean(site.suncodernote.validation.UserBean): [Field error in object userBean on field username: rejected value [null]; codes [NotEmpty.userBean.username,NotEmpty.username,NotEmpty.java.lang.String,NotEmpty]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [userBean.username,username]; arguments []; default message [username]]; default message [不能为空]] ]异常处理 由于默认的校验提示不够友好无法具体显示是哪个字段出现的问题下面我们将其简单改造一下。 1. 封装统一响应对象 Data public class ResponseResult T implements Serializable {private boolean success;/*** 返回处理消息*/private String message;/*** 返回代码*/private Integer code 0;/*** 返回数据对象 data*/private T result; }2. 封装全局异常处理类 RestControllerAdvice public class GlobalExceptionHandler {/*** 参数校检异常* param e* return*/ExceptionHandler(value MethodArgumentNotValidException.class)public ResponseResult? handle(MethodArgumentNotValidException e) {BindingResult bindingResult e.getBindingResult();StringJoiner joiner new StringJoiner(;);for (ObjectError error : bindingResult.getAllErrors()) {// 注解名称String code error.getCode();String[] codes error.getCodes();String property codes[1];property property.replace(code ,).replace(.,);String defaultMessage error.getDefaultMessage();joiner.add(propertydefaultMessage);}return handleException(joiner.toString());}private ResponseResult? handleException(String msg) {ResponseResult? result new ResponseResult();result.setMessage(msg);result.setCode(500);return result;} }在 GlobalExceptionHandler 异常处理类中为了省事就把字段名和验证失败提示语拼接到一起了。 3. 再次测试 再次测试可以看到在响应结果中得到了我们想要的结果了至此Springboot参数校验入门就完成了。 总结 Springboot 参数校验在实际工作中用处非常大本文只是简单介绍一下有哪些注解和简单使用后续会对Springboot参数校验做一个详细的介绍和使用感兴趣可以关注一下。
http://www.pierceye.com/news/159809/

相关文章:

  • 网站建设前端和后端的区别网站建设未来发展
  • 深圳网站制作公司建设网站seo视频狼雨seo教程
  • 建网站做优化重庆世界500强企业
  • 手机网站建设合同拼多多网店
  • 手机网站二级域名网站开发多少钱一个
  • 车险网站模版在线表白网页制作
  • 网站建设寻找可以途径wordpress 调试php代码
  • 济南优化seo网站建设微信公众号?
  • 武夷山网站推广三星网上商城下载
  • wap网站开发文案素材网站
  • 做网站需要用什么系统昆山张浦做网站
  • 钟祥建设局网站网页样式与布局
  • j建设银行信用卡网站天河外贸网站建设
  • 石家庄网站建设招商wordpress漫画主题
  • 河南省建设厅网站查询佛山著名网站建设公司
  • 山东搜点网站建设哪家公司做网站最好
  • 云购物网站建设wordpress离线编辑
  • 有没有网站开发团队郑州网站制作电话
  • 网站怎么做登陆免费虚拟机
  • 中国移动网站备案管理系统不能用科普网站建设的支持力度
  • 谁教我做啊谁会做网站啊企业网站模板seo
  • 自己建立一个网站需要什么wordpress 平衡插件
  • 邯郸手机建站价格青海网站开发 建设
  • 苏州 手机网站免费个人简历模板电子版可填写
  • 永州内部网站建设公司wordpress 模版开发
  • 云建站优势门户网站如何建设方案
  • 网站建设收费标准不一湖州网站开发公司
  • asp制作网站青岛建网站公司
  • 人人商城程序做的网站打不开百度网盘客户端下载
  • 医疗器械注册证查询网站优化推广服务