我正在使用Dropwizard开发服务。在POST请求中,我收到一个JSON,如果请求的格式无效,我想抛出异常,特别是如果缺少某些字段。默认情况下,如文档中所示,正在使用Hibernate Validator。这是代码:
public class ExtranetRequest {
@NotEmpty(message = "extranet_request_id should not be empty")
public String extranet_request_id;
@NotNull
public int hotel_id;
public List<ShopPattern> shop_patterns;
}
对于字段 extranet_request_id ,所有内容都按预期工作(如果JSON中不存在该字段,则抛出异常)。但是,如果缺少字段 hotel_id ,则不会引发请求错误。我还尝试了注释 @NotEmpty , @NotBlank , @Min(0),但没有一个工作。
答案 0 :(得分:1)
您是否尝试将hotel_id字段设为整数?
int不能为null,因此默认情况下它为0,对于@NotNull或@Min(0)是可以的(它检查数字是高还是等)。
@NotEmpty或@NotBlank应该让Hibernate Validator抛出异常。