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

免费空间 网站专业开发网站设计

免费空间 网站,专业开发网站设计,正规网站建设模板,怎么开网店系列文章目录 提示#xff1a;这里可以添加系列文章的所有文章的目录#xff0c;目录需要自己手动添加 SpringBoot之参数校验 提示#xff1a;写完文章后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、参数校验的重要…系列文章目录 提示这里可以添加系列文章的所有文章的目录目录需要自己手动添加 SpringBoot之参数校验 提示写完文章后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、参数校验的重要性二、简单数据类型参数校验三、对象类型参数校验四、异常处理总结 前言 提示这里可以添加本文要记录的大概内容 在 SpringBoot 的世界里参数校验是确保数据完整性和正确性的重要一环。它就像是一道坚固的防线守护着我们的应用程序防止恶意或错误的数据闯入。 想象一下如果没有参数校验我们的应用将会面临各种数据不一致、空指针异常等问题就像是一场噩梦。但是有了 SpringBoot 的参数校验功能我们可以轻松地对传入的参数进行检查确保它们符合我们的预期。 这就像是给我们的应用程序加上了一层保护罩让我们可以放心地处理数据而不用担心数据的质量问题。所以让我们一起深入了解 SpringBoot 的参数校验吧掌握它的奥秘让我们的应用程序更加健壮和可靠 提示以下是本篇文章正文内容下面案例可供参考 一、参数校验的重要性 在应用程序的各个层面我们都需要对传入的参数进行校验以确保它们符合预期的格式、范围和约束。参数校验可以帮助我们避免以下问题 数据不合法通过对参数进行校验可以确保数据符合业务规则和数据模型的要求。异常处理在参数校验过程中可以提前捕获和处理非法参数避免在后续的业务逻辑中引发异常。安全性通过参数校验可以防止 SQL 注入、跨站脚本攻击等安全漏洞。 二、简单数据类型参数校验 SpringBoot自带了validation工具可以从后端对前端传来的参数进行校验用法如下 引入validation起步依赖 !-- 参数校验 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId /dependency 在需要进行参数校验的实体类上添加Validated注解表示该类将进行参数校验。在参数前加校验注解表示对这个参数进行具体的参数校验。 // 该控制器开启参数校验 Validated Controller public class TestController {RequestMapping(/t1)ResponseBody// 在参数前加校验注解该注解的意思是字符串参数不能为nullpublic String t1(NotBlank String username){System.out.println(username);return 请求成功;} } 访问http://localhost:8080/t1发现当没有传来参数时会抛出ConstraintViolationException异常。在校验参数的注解中添加message属性可以替换异常信息。 // 该控制器开启参数校验 Validated Controller public class TestController {RequestMapping(/t1)ResponseBody// 在参数前加校验注解该注解的意思是字符串参数不能为nullpublic String t1(NotBlank(message 用户名不能为空) String username){System.out.println(username);return 请求成功;} } 除了NotBlank还有很多其他的注解 注解作用注解 描述DecimalMax数值的最大值可以包含小数。DecimalMin数值的最小值可以包含小数。Digits设置必须是数字且数字整数的位数和小数的位数必须在指定范围内Future日期是否为将来的日期。Past日期是否为过去的日期。Max数值的最大值。Min数值的最小值。NotNull不能为null可以是空Null必须为nullNotBlank字符串的值不能为空白即不能只包含空格。NotEmpty字符串、集合或数组的值不能为空即长度大于0Pattern字符串是否匹配指定的正则表达式。Size字符串、集合或数组的大小是否在指定范围内。Email字符串是否为有效的电子邮件地址。Length长度必须在指定范围内Range值必须在指定范围内URL必须是一个URLAssertTrue布尔值是否为true。AssertFalse布尔值是否为false。 三、对象类型参数校验 SpringBoot也可以校验对象参数中的每个属性用法如下 添加实体类 public class Student {NotNull(message id不能为空)private Integer id;NotBlank(message 姓名不能为空)private String name;// 省略getter/setter/tostring } 编写控制器 Controller public class TestController2 {RequestMapping(/t3)ResponseBody// 校验的对象参数前添加Validated并将异常信息封装到BindingResult对象中public String t3(Validated Student student,BindingResult result) {// 判断是否有参数异常if (result.hasErrors()) {// 所有参数异常ListObjectError list result.getAllErrors();// 遍历参数异常输出异常信息for (ObjectError err : list) {FieldError fieldError (FieldError) err;System.out.println(fieldError.getDefaultMessage());}return 参数异常;}System.out.println(student);return 请求成功;} } 四、异常处理 ConstraintViolationException是 Java 的 Bean Validation API 抛出的异常用于表示在验证数据对象时违反了约束条件。当你在 Java 中使用 Bean Validation 注解如NotNull、Size等来定义数据对象的约束条件并尝试保存或更新一个违反这些约束条件的数据对象时ConstraintViolationException就会被抛出。ConstraintViolationException包含了关于违反约束条件的详细信息包括约束注解的名称、违反的属性路径以及相应的错误消息。这些信息可以帮助你定位和修复数据对象中的问题。 当抛出ConstraintViolationException异常后我们可以使用SpringMVC的异常处理器也可以使用SpringBoot自带的异常处理机制。当程序出现了异常SpringBoot会使用自带的BasicErrorController对象处理异常。该处理器会默认跳转到/resources/templates/error.html页面。 编写异常页面 !DOCTYPE html html langen headmeta charsetUTF-8title错误页面/title /head body h1服务器开小差了/h1 /body /html 总结 提示这里对文章进行总结 Spring Boot 参数校验是构建可靠和安全应用的重要组成部分。通过使用注解和验证器我们可以轻松地对请求参数进行校验并在异常情况下提供友好的错误消息。在实践中遵循最佳实践结合业务需求进行细粒度的参数校验可以提高应用的可靠性和用户体验。
http://www.zqtcl.cn/news/776654/

相关文章:

  • 网站seo优化步骤动态ip可以做网站
  • 用自己电脑怎么做网站广州公司建站
  • 购物网站前端浮动特效怎么做常用开发工具
  • 网页设计与制作精品课程网站wordpress文章页禁止右键
  • 英迈思做网站做的怎样中国建设银行官方网站纪念币
  • 最专业的手机网站建设厦门建设厅网站
  • 贵州省建设工程质量检测协会网站c 网站开发类似优酷
  • 关于网站建设申请卢沟桥做网站的公司
  • 网站源码对应的数据库怎么做单页成品网站
  • 网站分为哪几类上海人才网官网招
  • 网站建设的常见技术有哪些方面网站联系我们模块怎么做
  • 外贸网站建设专业上海四大设计院是哪四个
  • 太原网站设计排名维启网站建设
  • 电子商务网站建设基本流程图网站建设推广策划
  • 合肥集团网站建设哪个好果洛电子商务网站建设哪家好
  • 顺德高端网站企业建设网站没有服务器
  • .net网站开发模板天津手网站开发
  • 网页设计大赛网站开发重庆最近的新闻大事10条
  • 网站ftp用户名和密码是什么建设单位网站设计
  • 公司请人做的网站打不开网页游戏大厅都有哪些
  • 网投网站制作中国建设教育协会报名网站
  • 做外贸需要做网站吗上海中建建筑设计院有限公司
  • 网站源代码免费下载苏州seo网络优化公司
  • 建网站跟建网店的区别pico笔克品牌介绍
  • 网站设计小技巧西安网站建设网站
  • 做听书网站怎么做网站留言板带后台模板
  • 石家庄网站建设王道下拉棒厦门橄榄网站建设
  • 赤峰网站建设培训建筑资格证书查询官网
  • 共和县公司网站建设seo网络推广招聘
  • 网站怎样做外链百度网站地图提交