Dropwizard:强制使用JSON整数参数

时间:2018-02-15 17:24:21

标签: java jackson jersey dropwizard hibernate-validator

我正在使用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),但没有一个工作。

1 个答案:

答案 0 :(得分:1)

您是否尝试将hotel_id字段设为整数?

int不能为null,因此默认情况下它为0,对于@NotNull或@Min(0)是可以的(它检查数字是高还是等)。

@NotEmpty或@NotBlank应该让Hibernate Validator抛出异常。