javax.validation从泽西得到忽略

时间:2012-02-16 02:15:42

标签: jersey

我正在尝试使用Jersey从用户那里获取JSON请求以创建供应商

@POST
@Produces({APPLICATION_JSON})
@Consumes({APPLICATION_JSON})
@Path("create")
public Response create(VendorTO vendorTO) throws Exception {

但是在它转换为vendorTO对象之前,我想用javax.validation验证它

我在我的pojo中添加了约束

{@JsonSerialize(include=Inclusion.NON_NULL)
  public class VendorTO {
@NotNull
private Integer userId;
@Size(min = 2)
private String vendorName;
private String address1;
private String address2;
private String city;
private String state;
private String country;
private String email;
private String phone;

}

但它似乎没有起作用。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您需要告诉框架该参数应为@Valid

@POST
@Produces({APPLICATION_JSON})
@Consumes({APPLICATION_JSON})
@Path("create")
public Response create(@Valid VendorTO vendorTO) {
    // ...
}

答案 1 :(得分:0)

此时,泽西岛似乎不支持JSR 303 natively。您可能必须编写一些ResourceFilters并手动处理验证。