Jersey beanvalidationParameterNameProvider

我正在阅读关于beanvalidation的Jersey文档。 ParameterNameProvider示例显示如何为方法定义参数名称。 但是,实现看起来必须对每个显然无法扩展的方法进行。 这个例子基本没用。

有更聪明的方法吗? Jersey不能从@QueryParam@PathParam注释中推断出这个名字吗?

在这里看看我的问题的答案。 它应该完全符合你的要求。

我可以在ConstraintValidator中为Method参数更改属性路径吗?

如果您复制我的代码并通过调试器运行它,您将看到它仅针对使用它的每个方法进行一次评估。 然后,在您的应用程序的正常运行期间,不需要再次解析名称。