java – RestEasy – 参数绑定 – 验证和错误 – EJB
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – RestEasy – 参数绑定 – 验证和错误 – EJB,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2183字,纯文字阅读大概需要4分钟。
内容图文
假设我使用传递给REST调用的参数定义POJO
class MyVO {
@NotNull
@PathParam("name")
private String name;
@NotNull
@PathParam("age")
private Integer age;
// getters and setters
}
public class RESTclass {
public postData( @Form MyVO vo ) {
}
}
它会自动绑定MyVO中的对象.但是我在哪里得到验证错误?
它是否在绑定期间触发验证?如果没有,如何触发验证?
Spring做得很好.它有BindingResult参数,你可以注入.
这里的等价物是什么?
任何的想法?
解决方法:
RestEasy版本3.0.1.Final之前
对于bean验证1.0,Resteasy有一个自定义验证提供程序,它使用hibernate的bean验证器实现.
要在Resteasy中启动并运行验证,您需要执行以下操作:
>将resteasy-hibernatevalidator-provider依赖项添加到项目中.如果您使用maven,这是maven pom条目:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-hibernatevalidator-provider</artifactId>
<version>${resteasy.version}</version>
</dependency>
>使用@ValidateRequest批注对要进行验证的资源类进行注释.
@Named
@Path("/users")
@ValidateRequest
public class UserResource extends BaseResource
{
@POST
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public Response createUser(@Valid User user)
{
//Do Something Here
}
}
Resteasy会自动检测类路径上的HibernateValidatorAdapter并开始调用bean验证.
>创建ExceptionMapper< MethodConstraintViolationException>实现来处理验证错误.
与Spring中必须检查BindingResult不同,当Resteasy遇到验证错误时,hibernate验证器将抛出MethodConstraintViolationException. MethodConstraintViolationException将包含其中的所有验证错误.
@Provider
public class MethodConstraintViolationExceptionMapper extends MyBaseExceptionMapper
implements ExceptionMapper<MethodConstraintViolationException>
{
@Override
public Response toResponse(MethodConstraintViolationException exception)
{
//Do Something with the errors here and create a response.
}
}
RestEasy版本3.0.1.Final
最新版本的Resteasy现在支持bean验证规范1.1并且已经改变了抛出的api和异常.
>而不是resteasy-hibernatevalidator-provider
需要resteasy-validator-provider-11依赖.
>您不需要将@ValidateRequest添加到资源类中
因为默认情况下启用了验证测试
RestEasy的验证器提供商-11.
>而不是在何时抛出MethodConstraintViolationException
检测到违规,这是RESTEasyViolationException的一个实例
将被抛出.
文档:3.0.1.Final Validation Documentation
内容总结
以上是互联网集市为您收集整理的java – RestEasy – 参数绑定 – 验证和错误 – EJB全部内容,希望文章能够帮你解决java – RestEasy – 参数绑定 – 验证和错误 – EJB所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。