合法性检查|学习笔记

简介: 快速学习合法性检查

开发者学堂课程【高校精品课-厦门大学 -JavaEE 平台技术合法性检查学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/80/detail/15912


合法性检查

 

内容介绍:

一、 合法性检查

二、 validation 注解介绍

 

一、 合法性检查

合法性检查,众所周知控制器的另外一个主要的作用是对前端发过来的数据进行检查、合法性检查以及封装,因为控制器是直接面向客户端的,虽然前端会做输入数

据的合法性检查,但是客户端出于安全性的必要,还是需要做合法性检查。

通常来说,若对每一个输入的参数做合法性检查,其工作量是比较繁琐麻烦的,一般会借助 javax.validation 来完成对输入参数的合法性检查,javax.validation  的合法性检查是 jaxr303 的标准,是对于 java参数检验的标准,其定义了很多注解,可以在输入参数时对它定义很多注解,一般来说会把所有输入的参数定义为 vo(voobject),可以在 vo 上加上 validation 的注解,通过这些注解帮助我们完成合法性的检查

 

二、 validation注解介绍

validation 的注解有很多,如下是常用的:比如要判断输入的值是 true 或 false,可分别用 @Assert False  和 @Assert True  来看注解的属性值是 True  或 false;

当要判空或不空时,可用 @NotNull 和 @Null 来判断注解的属性值是空或不空;对于字符串可用 @Not Blank 来判断它是否为空字串,@Not Blank 不仅能判断一个字串是否为空,也能判断字串中所有的字符是否为空格;对于整型的数值来说可用 @Max和@Min 去验证此数值是大于零或小于零对于浮点型也有对应的一组注解可去查询对于日期型可用 @Past和 @Future 来判断此日期比当前服务器的日期早或晚;对于 Email,可用 @Email 来判断主要元素是否符合  Email 格式,Email 可以添加 Part,限定其来自某个机构。如果此组件添加到vo上,输入的参数在符合注解的要求话,Control就会抛出 MethodArgumentNot ValidException, Exception 是需要处理的,在 splid 容器中 mac的框架中间可以定义一个 rest

controladvice 来统一处理异常。

相关文章
|
缓存 前端开发 应用服务中间件
聊聊 HTTP 性能优化
聊聊 HTTP 性能优化
|
Linux 编译器 数据安全/隐私保护
Windows10 使用MSYS2和VS2019编译FFmpeg源代码-测试通过
FFmpeg作为一个流媒体的整体解决方案,在很多项目中都使用了它,如果我们也需要使用FFmpeg进行开发,很多时候我们需要将源码编译成动态库或者静态库,然后将库放入到我们的项目中,这样我们就能在我们的项目中使用FFmpeg提供的接口进行开发。关于FFmpeg的介绍这里就不过多说明。
884 0
|
安全 Java Linux
Linux下Kibana的安装、配置及开机自启动
Linux下安装配置Kibana 项目基本环境: OS:CentOs7 JDK:1.8 Kibana:7.6.2
5636 1
Linux下Kibana的安装、配置及开机自启动
|
前端开发 Java 程序员
记录:java.net.SocketTimeoutException: connect timed out...【亲测有效】
记录:java.net.SocketTimeoutException: connect timed out...【亲测有效】
2672 0
|
监控 Linux
在Linux中,如何实时查看网卡流量为多少?如何查看历史网卡流量?
在Linux中,如何实时查看网卡流量为多少?如何查看历史网卡流量?
|
运维 关系型数据库 分布式数据库
在数据库应用中遇到的问题及阿里云数据库解决方案
企业在面临数据库性能瓶颈、可扩展性问题、高可用性不足及运维复杂等挑战时,选择了阿里云数据库解决方案。阿里云RDS和PolarDB通过读写分离、自动化索引优化、多副本架构等提升性能和扩展性;多可用区部署、数据复制等增强高可用性和容灾能力;自动化运维工具简化管理,降低运维成本。实施后,性能大幅提升,可扩展性增强,高可用性提升,运维工作简化,为业务稳定和未来发展奠定基础。
681 0
|
Rust 算法 安全
Rust中的宏与编译时性能优化
本文深入探讨了Rust编程语言中的宏(Macros)及其在编译时性能优化方面的应用。我们将了解宏的基本概念,探索它们在元编程和性能优化中的潜力,并通过实例展示如何使用宏来优化Rust代码的性能。
|
并行计算 PyTorch 算法框架/工具
LLM推理引擎怎么选?TensorRT vs vLLM vs LMDeploy vs MLC-LLM
有很多个框架和包可以优化LLM推理和服务,所以在本文中我将整理一些常用的推理引擎并进行比较。
2108 2
|
存储 Linux PHP
PHP云盘网盘系统源码+快速对接多家云存储+全新一键安装版
快速对接多家云存储,支持七牛、又拍云、阿里云OSS、AWS S3、Onedrive、自建远程服务器,当然,还有本地存储。 自定义主题配色。 图片、音频、视频、文本、Markdown、Ofiice文档 在线预览。 移动端全站响应式布局。 文件、目录分享系统,可创建私有分享或公开分享链接。 用户个人主页,可查看用户所有分享。 多用户系统、用户组支持。 初步完善的后台,方便管理。 拖拽上传、分片上传、断点续传、下载限速(*实验性功能)。 多上传策略,可为不同用户组分配不同策略。 用户组基础权限设置、二步验证。 WebDAV协议支持。
582 2
|
负载均衡 应用服务中间件 nginx