【问题标题】:javax regex validation of path variables in SpringSpring中路径变量的javax正则表达式验证
【发布时间】:2019-07-04 00:25:54
【问题描述】:

我对 bean 和请求参数进行了验证,但是,我的路径变量无法通过验证:

@PathVariable @Pattern(regexp = "[A-Za-z0-9]+") String protocol

当我将路径 var 提供为 ab!ab 时,它不会以 400 状态代码使请求失败,而是让它与分配给参数的值一起传递。

我还在线验证了我的正则表达式,它是有效的,应该可以正常工作。

另外,我的休息控制器确实有@Validated 注释。

我在这里错过了什么?

================更新=============

我尝试了其他约束注释,但它们都不起作用,所以它必须与路径变量验证有关。但是什么??

【问题讨论】:

    标签: spring spring-mvc hibernate-validator javax.validation


    【解决方案1】:

    确保你有

    休眠验证器

    依赖并添加以下bean:

    @Bean
    public MethodValidationPostProcessor methodValidationPostProcessor() {
        return new MethodValidationPostProcessor();
    }
    

    【讨论】:

    • 对于其他对此也不熟悉的人。我使用 @SpringBootApplication 注释(在其中声明了您的 main 方法)将 Bean 插入到类中。如果你们中的任何一个人知道一个更好的地方,我会全神贯注。但它就像一个魅力!
    • @W_O_L_F 您可以简单地创建一个带有@Configuration 注释的配置类并将其放在那里。
    • 它不工作,我试过但行为是一样的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 2011-04-18
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多