使用JSR303验证JAX-RS(Apache Wink)资源?
是否可以在JAX-RS资源上有效使用JSR303(Bean Validation)注释? 例如,如果我有一个资源成员,我注释了@NotEmpty,如果不满足此约束,则会向客户端生成错误? 这似乎是显而易见的事情,但也乐于被告知更好的方式(我不想将验证移到ORM /数据库级别) 最佳答案
你真的是要验证资源成员吗?通常资源成员以这种方式或其他方式注入(它是上下文,实体或路径/查询/矩阵参数),只要JAX-RS框架工作,您就可以正确地注入这些成员.
我个人认为验证实体更有意义,因为它已经通过电线到达,由MessageBodyReader填充,基本上你不知道里面是什么,对吧? 因此,如果您决定验证实体,可以采用以下几种方法: > AFAIK,Apache Wink不支持内置验证.您可以实现处理程序.请参阅DeploymentConfiguration.initRequestHandlersChain().它支持添加用户处理程序.在您的处理程序中,您可以执行任何验证.我甚至认为如果你贡献这个代码,Wink社区会很高兴. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |