过滤器中的 Ninja Framework JSR303Validation
Posted
技术标签:
【中文标题】过滤器中的 Ninja Framework JSR303Validation【英文标题】:Ninja Framework JSR303Validation in Filter 【发布时间】:2015-02-21 21:00:48 【问题描述】:我正在开发一个基于 Ninja JSON 的应用程序,我在其中跨多个控制器方法实现 @JSR303Validation 注释。我目前正在通过传入 Validation 对象并调用 validation.hasBeanViolations()
来检查控制器本身中的验证,以查看是否有故障。如果有,我将向客户端返回失败的结果。
我想使用过滤器验证请求,而不是在控制器中执行此操作。但是,我不知道该怎么做?有人可以帮忙吗?据我所知,您不能将验证作为参数传递给过滤器,并且 context.getValidation() 对象似乎没有发现任何验证失败。
【问题讨论】:
【参考方案1】:目前无法使用过滤器(从 Ninja 4.0.x 开始)。但是,您可以自己实现它。这将大致按以下方式工作:
创建过滤器通过context.getParameterAs("parametername", Pojo.class);
使用javax.validation.Validation
自己验证类。您可以或多或少地从 JSRValidator (https://github.com/ninjaframework/ninja/blob/develop/ninja-core/src/main/java/ninja/validation/Validators.java) 复制和粘贴该方法。
这并不太复杂。但它不像控制器中的注释方法那样自动化。
【讨论】:
以上是关于过滤器中的 Ninja Framework JSR303Validation的主要内容,如果未能解决你的问题,请参考以下文章
Ninja Framework mailProvider.get() 给出空指针异常
如何安装第一个 Ninja Web Framework 应用程序?
将 java.sql.Connection 注入 Ninja Framework 的控制器
Ninja Framework:通过 Eclipse 和 m2eclipse 插件进行调试 - jetty:run 不启动服务器,而是构建