jersey-dropwizard上的资源查询参数验证

时间:2015-05-01 14:18:25

标签: java jersey dropwizard

我有一个dropwizard应用程序,在一个资源中我希望有一个必需的查询参数。我知道球衣支持bean validation所以我试图使用@NotNull注释,但它不起作用。这是资源的代码:

@Path("/resource/{id}")
@Produces(MediaType.APPLICATION_JSON)
public class MyResource {
    //....constructor...

    @GET
    public String test(
        @PathParam("id") long id,
        @NotNull @QueryParam("required_param") long param) {
        //....
    }
}

如果不清楚,我想要发生的是每当客户端发送不带参数 required_pa​​ram 的请求时,我想返回错误。

阅读文档之后,我认为也许是dropwizard的配置。所以我将这段代码添加到我的应用程序的run方法中:

environment.jersey().property("jersey.config.disableAutoDiscovery", false);
environment.jersey().property("jersey.config.server.disableAutoDiscovery", false);
environment.jersey().property("jersey.config.beanValidation.disable.server", false);

不幸的是,这也不起作用。任何人都知道如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您是否尝试过使用Long对象而不是原始类型?