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

endpoint验证(@valid、@pattern等)

舒仲渊
2023-03-14
    null

共有1个答案

云慈
2023-03-14

添加javax.validation依赖项

下面是添加验证的3个步骤。

  1. 在POJO类中的数据成员上添加@nonnull
    class Employee
    {
        @NonNull
        String name;
    }
    private void validate(Employee emp){
        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        Validator validator = factory.getValidator();
        Set<ConstraintViolation<Employee>> violations = validator.validate(emp)
        for(ConstraintViolation<Employee> violation: violations) {
            //Your action. May be throw exception
        }
    }
    void method(@Valid Employee emp){
        validate(emp);
    }
 类似资料:
  • 我有一个带有字段的类需要验证: 其思想是匹配任何一行,只由一个零组成,或由0或更多不以零开头的数字组成。我在这里测试了这个表达式,正如你所看到的,它是有效的——以零开头的行不匹配。 然而 在对象上,包含等于“09980514122516231246”(链接示例中的最低行)的 不会返回任何错误。尽管如此,更简单的表达式仍能像预期的那样工作——验证以下属性 设置为“SDF55550”将返回一组s,由一

  • 由于这个问题,我想我理解了验证是如何工作的。 至于JPA,这里我们有一个名为JSR-303的规范,解释了Bean验证应该如何工作,然后我们也使用了常用的Hibernate Validator或Apache BVal等实现。 我正在努力在我的代码的某些部分使用。我没有使用,因为我不需要组验证。 您可以在此处找到演示项目的示例 在PropertyExample类中,您可以看到我标记了我的类以进行bea

  • 问题内容: 我想注册一个可以处理以下处理程序方法定义的自定义 我可以注册我的解析器,这只是创建了一个通过重写通过请求参数对象,从。当Spring尝试解析该参数时,它将遍历其列表(有很多),并选择它的第一个。 在上面的例子中,虽然我的解析器将被调用,我的论点将得到初始化,注释将不会被处理 ,并 为解析器,一个是因为它需要一个会失败,或在处理方法的说法,这我不没有。 如果我尝试通过添加来修复它 一实施

  • 我试着从一个实体类中验证两个字段,它有两个字段:name和price,但字符串和我都试着从每个@notblank打印消息(消息=“...”)输入字段下的表单。但我有以下错误: 对象“food DTO”中字段“name”上的字段错误:拒绝值[];代码[notblank.fooddto.name,notblank.name,notblank.java.lang.String,notblank];参数[

  • 我只是在实现一个基本的CRUD服务,用户可以在数据库中创建,其密码与特定的正则表达式匹配,并使用进行编码。 我的测试失败,因为密码上有一个,表示它不满足regex要求: 它没有陷入我的,因为它抛出了一个,而不是一个。我调试并发现,当它试图匹配给定的正则表达式时,密码本身的值显示为: 而被传递的密码是: 因此,验证似乎是在加密密码而不是原始密码上运行的。我认为验证应该在方法中接收的对象上进行,然后再

  • 我正在尝试使用Keycloak配置Spring Boot应用程序以使其具有可供经过身份验证和未经身份验证的用户访问的endpoint。对于经过身份验证的用户,我想返回一些额外信息。这是我试图实现的一个简单示例: application.properties: 到目前为止,我只对这两种情况中的一种起作用。如果我使用上面的安全约束保护endpoint,那么只有经过身份验证的用户才能访问该endpoin