• @Validated指定校验顺序


    在Java中,使用@NotNull注解时,可以指定多个参数的顺序。为了指定顺序,你可以使用@GroupSequence注解。

    首先,为每个需要校验的参数定义一个接口,并在接口上添加@GroupSequence注解,指定参数的校验顺序。然后,在每个参数上使用@NotNull注解。

    下面是一个示例代码:

    java
    import javax.validation.GroupSequence;
    import javax.validation.constraints.NotNull;

    public class MyRequest {

    @NotNull(groups = {FirstGroup.class})  
    private String field1;  
    
    @NotNull(groups = {SecondGroup.class})  
    private String field2;  
    
    public interface FirstGroup {}  
    public interface SecondGroup {}  
    
    @GroupSequence({FirstGroup.class, SecondGroup.class})  
    public interface ValidationOrder {}  
    

    }
    在上面的示例中,我们定义了两个参数field1和field2,并使用@NotNull注解进行约束。我们还定义了两个接口FirstGroup和SecondGroup,分别用于表示参数的校验组。最后,我们定义了一个接口ValidationOrder,并使用@GroupSequence注解指定了参数的校验顺序。

    这样,当对MyRequest对象进行校验时,将按照指定的顺序进行校验。首先校验field1,然后校验field2。如果任何一个参数不满足约束条件,将抛出相应的异常。


    __EOF__

  • 本文作者: DiligentCoder
  • 本文链接: https://www.cnblogs.com/LoveShare/p/17713999.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    【数据结构】解密链表之旅(双链表篇)
    【Verilog基础】一文搞懂线性反馈移位寄存器(LFSR)
    apply()拦截proxy
    【定义】行阶梯形矩阵、行最简形矩阵和标准形
    隧道ip网络广播系统
    Flutter_Slider_SliderTheme_滑杆/滑块_渐变色
    剑指offer 22. 链表中环的入口结点
    【RocketMQ】消息的消费总结
    Vue2 Element Pagination组件 每页数据量不同的解决方案
    prometheus描点原理
  • 原文地址:https://www.cnblogs.com/LoveShare/p/17713999.html