SpringBoot开发秘籍 - 集成参数校验及高阶技巧

本文详细介绍了SpringBoot项目中参数校验的使用,包括简单使用、统一异常处理、参数分组和快速失败模式。通过添加约束性注解实现基本校验,利用@Validated和@Valid进行控制器层的校验。同时,通过定义分组接口,实现了不同业务场景下对实体类字段的动态校验。最后,讨论了开启快速失败模式以提高校验效率。
摘要由CSDN通过智能技术生成

对于 web服务来说,为防止非法参数对业务造成影响,在 Controller层一定要对参数进行校验!本章我们以SpringBoot项目为例,介绍参数校验的基本用法以及一些高级技巧,希望能对你有所帮助。

简单使用

  1. 要在Springboot项目中加入参数校验功能首先得加入spring-boot-starter-validation依赖

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-validation</artifactId>
</dependency>
  1. 然后给需要校验的字段添加上约束性注解,如我们对实体类参数进行校验

@Data
public class ValidEntity{
    private int id;
    @NotBlank
    private String appId;
  
    @NotBlank
    private String name;
  
    @Email
    private String email;
}

常见约束注解如下:

注解 功能
@AssertFalse 可以为null,如果不为null的话必须为false
@AssertTrue 可以为null,如果不为null的话必须为true
@DecimalMax 设置不能超过最大值
@DecimalMin 设置不能超过最小值
@Digits 设置必须是数字且数字整数的位数和小数的位数必须在指定范围内
@Future 日期必须在当前日期的未来
@Past 日期必须在当前日期的过去
@Max 最大不得超过此最大值
@Min 最大不得小于此最小值
@NotNull 不能为null,可以是空
@Null 必须为null
@Pattern 必须满足指定的正则表达式
@Size 集合、数组、map等的size()值必须在指定范围内
@Email 必须是email格式
@Length 长度必须在指定范围内
@NotBlank 字符串不能为null,字符串trim()后也不能等于“”
@NotEmpty 不能为null,集合、数组、map等size()不能为0;字符串trim()后可以等于“”
@Range 值必须在指定范围内
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值