首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SpringBoot入门建站全系列(三十三)集成validator校验接口数据

SpringBoot入门建站全系列(三十三)集成validator校验接口数据 一、概述 在开发中经常需要写一些字段校验的代码,比如字段非空,字段长度限制,邮箱格式验证等等,如果我们直接将这些校验写死在代码里...CharSequence @Size(min=最小值, max=最大值) 验证注解的元素值的在min和max(包含)指定区间之内,如字符长度、集合大小 CharSequence,Collection,...(字符串长度不为0、集合大小不为0) CharSequence,Collection,Map和数组 @Range(min=最小值, max=最大值) 验证注解的元素值在最小值和最大值之间 CharSequence...验证注解的元素值长度在min和max区间内 CharSequence @Email 验证注解的元素值是Email,也可以通过正则表达式和flag指定自定义的email格式 CharSequence @...CharSequence @CodePointLength 验证带注释的字符序列的代码点长度在之间min并max包括在内。

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Validated分组校验及扩展

    @Validated分组校验及扩展 一、介绍 在springBoot项目中,我们往往要对参数进行校验,如果在代码中进行,就会显得很杂乱冗余 我在以前有介绍过@Valid注解的使用和扩展 但上面这篇文章整理相关的知识点有局限性...; import lombok.NoArgsConstructor; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull...; import lombok.NoArgsConstructor; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull...@Valid注解即可 由于List集合有点特殊,它需要在指定泛型的地方打上@Valid,这样才可以对集合中的每一个对象进行校验 3)多字段联动校验 如何进行多字段之间的联动校验,就像开头讲到的那个例子一样...; import lombok.NoArgsConstructor; import javax.validation.constraints.AssertTrue; import javax.validation.constraints.NotNull

    1.4K50

    简化开发|Lombok神器带你消除冗余代码

    对于这些方法,它能够在编译源代码期间自动帮我们生产这些方法,并没有如反射那样降低程序的性能。本文将带大家详细介绍关于Lombok的使用以及原理。 公众号:「浅羽的IT小屋」 1....2、Lombok的安装 「安装步骤:」 在IDEA的插件Plugins中搜索Lombok ? 安装Lombok ?...「注意:」 在使用Lombok注解的时候记得要导入Lombok.jar包到工程,Maven Project的话,要在pom.xml中添加依赖 org.projectlombok...「常用注解:」 Lombok注解说明 * val:用在局部变量前面,相当于将变量声明为final * @NonNull:给方法参数增加这个注解会自动在方法内对该参数进行是否为空的校验,如果为空,则抛出...@NonNull属性作为参数的构造函数,如果指定staticName = “of”参数,同时还会生成一个返回类对象的静态工厂方法,比使用构造函数方便很多 * @Data:注解在类上,相当于同时使用了@ToString

    54010

    SpringBoot-表单验证-统一异常处理-自定义验证信息源

    自定义验证 很多时候框架提供的功能并不能满足我们的业务场景,这时我们需要自定义一些验证规则来完成验证。...调用过程验证 有的时候我们在参数传输过程中需要对传入的对象做参数验证,但是上面介绍的都是对参数绑定时的验证,那能不能使用validation进行验证呢? 答案肯定是可以的。...5.1 使用 spring bean 5.1.1 注入validator bean validator 是我们在config文件中定义的bean,如果使用了springboot默认的配置ValidationAutoConfiguration...统一异常处理 在上面的参数验证中,验证的错误信息是通过BindingResult result参数进行接收的,在每个方法中异常处理如出一辙,特别麻烦。...甚至在step 5,6都是直接将异常的堆栈信息返回给前端,这对于用来说是非常不友好的。而且有的情况下需要我们主动抛出业务异常,比方用户不能直接删除已绑定用户的角色。 所以,开撸。

    2.4K30

    一份不可多得的 Lombok 学习指南

    在开发环境中使用 Lombok 插件后,Java 开发人员可以节省出重复构建,诸如 hashCode 和 equals 这样的方法以及各种业务对象模型的 accessor 和 toString 等方法的大量时间...对于这些方法,Lombok 能够在编译源代码期间自动帮我们生成这些方法,但并不会像反射那样降低程序的性能。...:lombok:1.18.10' annotationProcessor 'org.projectlombok:lombok:1.18.10' } Maven 在 Maven 项目的 pom.xml..." /> 2.2 IDE 由于 Lombok 仅在编译阶段生成代码,所以使用 Lombok 注解的源代码,在 IDE 中会被高亮显示错误,针对这个问题可以通过安装 IDE 对应的插件来解决...注解 你可以在方法或构造函数的参数上使用 @NonNull 注解,它将会为你自动生成非空校验语句。

    1K30

    使用javac编译源码的过程

    填充符号表:主要记录抽象语法树的顶级节点。 插入式注解处理器的注解处理过程 如果插件在注解处理期间对抽象语法树进行了修改,编译期重新进入第一步,直到没有修改为止。...替换:比如将字符串的+,替换为StringBuffer或StringBuilder的append方法。 lombok在第二步增加getter和setter等方法定义的相应树节点。...常用注解 @Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法 @Setter:注解在属性上...;为属性提供 setting 方法 @Getter:注解在属性上;为属性提供 getting 方法 @Log:注解在类上;为类提供一个属性名为log 的 log4日志对象 @Log4j:Creates...;为类提供一个无参的构造方法 @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法 @NonNull:注解在参数上,要求非空 例子: import lombok.NonNull

    1K30

    一份不可多得的 Lombok 学习指南

    在开发环境中使用 Lombok 插件后,Java 开发人员可以节省出重复构建,诸如 hashCode 和 equals 这样的方法以及各种业务对象模型的 accessor 和 toString 等方法的大量时间...对于这些方法,Lombok 能够在编译源代码期间自动帮我们生成这些方法,但并不会像反射那样降低程序的性能。 ?...:lombok:1.18.10' annotationProcessor 'org.projectlombok:lombok:1.18.10' } Maven 在 Maven 项目的 pom.xml..." /> 2.2 IDE 由于 Lombok 仅在编译阶段生成代码,所以使用 Lombok 注解的源代码,在 IDE 中会被高亮显示错误,针对这个问题可以通过安装 IDE 对应的插件来解决...注解 你可以在方法或构造函数的参数上使用 @NonNull 注解,它将会为你自动生成非空校验语句。

    96111

    一份不可多得的 Lombok 学习指南

    在开发环境中使用 Lombok 插件后,Java 开发人员可以节省出重复构建,诸如 hashCode 和 equals 这样的方法以及各种业务对象模型的 accessor 和 toString 等方法的大量时间...对于这些方法,Lombok 能够在编译源代码期间自动帮我们生成这些方法,但并不会像反射那样降低程序的性能。...:lombok:1.18.10' annotationProcessor 'org.projectlombok:lombok:1.18.10' } Maven 在 Maven 项目的 pom.xml..." /> 2.2 IDE 由于 Lombok 仅在编译阶段生成代码,所以使用 Lombok 注解的源代码,在 IDE 中会被高亮显示错误,针对这个问题可以通过安装 IDE 对应的插件来解决...你可以在方法或构造函数的参数上使用 @NonNull 注解,它将会为你自动生成非空校验语句。

    88610

    一些没用的小技巧

    一、表单验证 controller层接收请求参数,对有些参数我们需要进行校验,比如校验某个字段的格式、校验某个字段不能为空等。常规做法是写if判断,当字段校验不通过就抛出异常。...不过使用表单验证,可以让代码更加优雅。...的一些其他玩法 lombok最常见的用法可能就是@Setter、@Getter和@Data,其实他还有很多强大的地方。...@RequiredArgsConstructor(staticName = "xxx")和@NonNull 在创建对象的时候,可能有某个字段是必传的,那么可以将这个字段放到构造方法中,只有传入该字段才能创建对象...在类上加上@RequiredArgsConstructor(staticName = "xxx"),xxx表示方法名,然后在不能为空的字段上加上@NonNull。

    14611

    Java使用Lombok详解

    通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode() 和 equals() 、getter / setter 这样的方法以及以往用来分类各种 accessor 和 mutator...Lombok 安装 由于 Lombok 仅在编译阶段生成代码,所以使用 Lombok 注解的源代码,在 IDE 中会被高亮显示错误,针对这个问题可以通过安装 IDE 对应的插件来解决。...($ex); } } Lombok 使用注意点 谨慎使用 @Builder 在类上标注了 @Data 和 @Builder 注解的时候,编译时,lombok 优化后的 Class 中会没有默认的构造方法...在反序列化的时候,没有默认构造方法就可能会报错。...比如,有多个类有相同的部分属性,把它们定义到父类中,恰好 id(数据库主键)也在父类中,那么就会存在部分对象在比较时,它们并不相等,这是因为:lombok 自动生成的 equals(Object other

    76010

    Gateway如何使用多个源来达成动态路由

    Gateway如何使用多个源来达成动态路由一、介绍在前面的文章,我介绍了如何从Nacos读取json文件来动态生成路由随着文件的变更,同时刷新路由但在文章的结尾,我并不满足于仅仅只在Nacos配置动态路由...本篇文章使用了Nacos的json文件,和MySQL数据表,两个配置源来达成动态路由二、代码首先,分析了上篇文章的RouteDefinitionRepository.java接口,之前的Nacos配置源也是实现了这个接口主要是里面的这个方法...return null; } }).filter(Objects::nonNull...; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.Accessors...reactor.core.publisher.Mono; ​ import javax.validation.Valid; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull

    20820

    接口参数注解验证案例

    写作缘由 写接口的时候经常会有请求体里某字段不为null的需求;也有使用一个dto对象,但是插入和修改都想使用这个dto,那这样的话判断条件就不一样,因为修改操作必须有ID,所以参数验证还是挺麻烦的...源码下载 ChaiRongD/Demooo - Gitee.com 注意依赖和注解到底是引用的哪个包 请求参数验证 请求参数不为null 首先定义一个dto package com.example.springbootparamvalidatedemo.dto...; import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull...比如经常会有添加和修改某类的需求,其实请求里就是一个字段ID是否需要验证,其实这里是可以复用的,如果我能告诉系统 这个是插入操作,不需要验证ID,这个是修改操作,必须要验证ID,那就爽歪歪了,不过确实有这种骚操作...,其中注意接口的参数前面的注解,这样就能实现根据某个类型判断不同的字段 ,亲测可用,不贴结果了 @PostMapping("/insertTeacherHello") public TeacherDto

    19210

    Lombok使用指南

    对于这些方法,Lombok 能够在编译源代码期间自动帮我们生成这些方法,但并不会像反射那样降低程序的性能。..." /> 2.2 IDE 由于 Lombok 仅在编译阶段生成代码,所以使用 Lombok 注解的源代码,在 IDE 中会被高亮显示错误,针对这个问题可以通过安装 IDE 对应的插件来解决...Lombok in IntelliJ IDEA Lombok in Eclipse 三、Lombok详解 注解说明 val:用在局部变量前面,相当于将变量声明为final @NonNull:给方法参数增加这个注解会自动在方法内对该参数进行是否为空的校验...@NonNull属性作为参数的构造函数,如果指定staticName = “of”参数,同时还会生成一个返回类对象的静态工厂方法,比使用构造函数方便很多 @Data:注解在类上,相当于同时使用了@ToString...你可以在方法或构造函数的参数上使用 @NonNull 注解,它将会为你自动生成非空校验语句。

    1.2K40

    今天 1024,为了不 996,Lombok 用起来以及避坑指南

    上面已经简单看了一下 @Data 注解,下面看下所有的可以用的注解 @NonNull 注解在字段和构造器的参数上。...@RequiredArgsConstructor 注解在类。为类中需要特殊处理的字段生成构造方法,比如 final 和被 @NonNull 注解的字段。...,但在序列化/反序列化的还是需要提供无参的 当团队决定不再使用 Lombok 的时候,可以使用 Lombok 插件的 Delombok 一键去除,在 Refactor > Delombok 中 再次注意...工作原理 工作原理来自网上资料 在Lombok使用的过程中,只需要添加相应的注解,无需再为此写任何代码。...在使用javac的过程中,它产生作用的具体流程如下: javac对源代码进行分析,生成了一棵抽象语法树(AST) 运行过程中调用实现了“JSR 269 API”的Lombok程序 此时Lombok就对第一步骤得到的

    77430
    领券