我有一个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_param 的请求时,我想返回错误。
阅读文档之后,我认为也许是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);
不幸的是,这也不起作用。任何人都知道如何做到这一点?
答案 0 :(得分:2)
您是否尝试过使用Long
对象而不是原始类型?