当前位置: 首页 > 知识库问答 >
问题:

Spring REST@RequestBody验证按特定顺序进行,并且仅包含一个组强制字段

闾丘昊然
2023-03-14

假设我有以下bean,我使用@requestbody在控制器的入口方法中获得这些bean

public class MyRequestBean extends RequestBean {

    private static final long serialVersionUID = 1L;

    private String lastName ;
    private String firstName ;
    private String ssnNumber;
    private String groupCd;

}

我已经将@valid放在入口点方法的-@requestbody旁边。

我想实现两件事,

>

  • ssnnumber是一个绝对强制字段-如果它为空或为空-则不需要验证其他任何内容。只需返回错误消息。

    我怎样才能做到这一点呢?

    我使用这两个依赖项进行验证,

    <dependency>
                <groupId>javax.validation</groupId>
                <artifactId>validation-api</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
    </dependency>
    

    验证API为-1.1.0.final&Hibernate验证器为-5.3.4.final

    编辑:可能的重复链接正在讨论JSON字段顺序。在我的情况下,现场秩序无关紧要。它是关于字段验证顺序的。我是不是漏掉了什么?

  • 共有1个答案

    宇文德明
    2023-03-14

    我没有找到一种使用注释的方法,即使用注释进行订单字段验证。

    我最终必须通过实现-org.springframework.validation.validator并在那里编写我的有序逻辑,然后在controller类中添加该控制器的验证器,来编写我的自定义验证器类-myValidator,

    @InitBinder
        public void globalInitBinder(WebDataBinder binder) {
            binder.addValidators(new MyValidator());
        }
    
     类似资料:
    • 通常,您可以有多个进程,但有时在某些操作中,我们需要确保在执行前一个进程之后执行一个进程。 我们如何在卡蒙达实现它?试图找到类似进程依赖关系的东西(因此进程在上一个进程完成后才开始),但找不到任何东西:( 我考虑在process中添加一些变量(比如),并检查指定的process是否已经完成,但也许会有更好的解决方案。

    • 问题内容: 我有一个XML编写脚本,可以为特定的第三方工具输出XML。 我已经使用原始XML作为模板来确保构建所有正确的元素,但是最终的XML看起来并不像原始XML。 我以相同的顺序编写属性,但是lxml以自己的顺序编写属性。 我不确定,但是我怀疑第3部分工具希望属性按特定顺序显示,并且我想解决此问题,以便查看其属性顺序是否导致失败,或其他原因。 源元素: 我的源脚本: 我生成的XML: 有没有办

    • 问题内容: 我试图在我的一种方法中建立用户输入验证系统…在一定程度上可以正常工作,但是尽管有代码,但它仍然允许整数作为有效输入,我不希望这样,我怎么能更改此代码,以仅允许将字母(字符串)作为有效输入。在这一点上,我感到困惑,我尝试使用整数对该系统进行测试,它可以完美地工作,但是使用字母,无济于事。 有见识? 问题答案: 更换 与 如果使用扫描仪,则仅检查下一步是否有 东西 ,特别是对于字母或其他物

    • 我正在尝试使用 json 对象的 s3api cli 为 aws 放置对象标记创建“TagSet”。我已经将 json 解析为哈希,这是我实现最终目标的最大成功。 示例 JSON: 结束目标示例: 到目前为止,我已经将 json 解析为哈希,然后使用以下方法将键和值拆分为 2 个数组: 我想我可以遍历每个数组,然后将它们插入到一个数组中。但是我得到的输出是一个递归列表,其中包含了每个值重复出现的所

    • 我有一个想对其进行条件验证的bean。为此,我定义了一个

    • 我想知道我是否可以定义一个JSON模式(草案4),它要求许多属性中至少有一个具有特定的值。 为了说明这一点,下面是一个我希望验证失败的JSON示例: 但是,如果上面的任何(一个或多个)属性设置为,只有这样我才会期望它通过验证。 那么模式是什么呢? 非常感谢提前!