【发布时间】:2015-07-29 19:09:33
【问题描述】:
我无法理解 @ValidateOnExecution 注释的本质。有人可以解释一下它的用例吗?
根据 jersey 的文档,资源方法的约束是自动验证的。这段代码 sn-p 来自jersey's example。
@GET
@NotNull
@HasId
public List<ContactCard> getContacts() {
return StorageService.findByName("");
}
@GET
@Path("{id}")
@NotNull(message = "{contact.does.not.exist}")
@HasId
public ContactCard getContact(
@DecimalMin(value = "0", message = "{contact.wrong.id}")
@PathParam("id") final Long id) {
return StorageService.get(id);
}
如果约束在 pojo 中,您可以使用 @Valid (See) 触发验证。
@Path("/")
class MyResourceClass {
@POST
@Consumes("application/xml")
public void registerUser(@Valid User user) {
...
}
}
那么@ValidateOnExecution 除了显式关闭验证之外还有什么用途?
【问题讨论】:
标签: java validation rest jersey