Java 将@BeanParameter与Jersey一起使用

Java 将@BeanParameter与Jersey一起使用,java,rest,get,jersey,jax-rs,Java,Rest,Get,Jersey,Jax Rs,我正在使用JAX-RS创建一个restfull Web服务,我已经开始使用Wildfly 8.2和JEE7进行开发,我能够实现这一点: 端点搜索方法: @GET @Path("/consultar") public Response consultar( @QueryParam("offset") @DefaultValue(value = "0") Integer offSet, @QueryParam("limit") @DefaultValue(value

我正在使用JAX-RS创建一个restfull Web服务,我已经开始使用Wildfly 8.2和JEE7进行开发,我能够实现这一点:

端点搜索方法:

@GET
@Path("/consultar")
public Response consultar(
        @QueryParam("offset") @DefaultValue(value = "0") Integer offSet, 
        @QueryParam("limit") @DefaultValue(value = "10") Integer limit, 
        @NotNull @BeanParam EmpresaDTO filtro) {
    return super.consultar(offSet, limit, filtro);
}
@Override
public Response consultar(Integer offSet, Integer limit, @NotNull Object filtro) {
    T filtroMaterializado = mapper.map(filtro, getClassType());
    Example example = getExampleGenerator().generate(filtroMaterializado);
    List<T> lista = getRepository().listar(offSet, limit, example);

    return getOkResponse(lista);
}
端点抽象搜索方法:

@GET
@Path("/consultar")
public Response consultar(
        @QueryParam("offset") @DefaultValue(value = "0") Integer offSet, 
        @QueryParam("limit") @DefaultValue(value = "10") Integer limit, 
        @NotNull @BeanParam EmpresaDTO filtro) {
    return super.consultar(offSet, limit, filtro);
}
@Override
public Response consultar(Integer offSet, Integer limit, @NotNull Object filtro) {
    T filtroMaterializado = mapper.map(filtro, getClassType());
    Example example = getExampleGenerator().generate(filtroMaterializado);
    List<T> lista = getRepository().listar(offSet, limit, example);

    return getOkResponse(lista);
}
@覆盖
公共响应顾问(整数偏移量、整数限制、@NotNull对象过滤器){
T filtroMaterializado=mapper.map(filtro,getClassType());
示例=getExampleGenerator().generate(FiltroMaterializationADO);
List lista=getRepository().listar(偏移量、限制,示例);
返回getOkResponse(lista);
}
在我具备迁移到Tomcat的必要条件之前,这是可行的,然后我选择Jersey作为我的JAX-RS实现。现在我得到了一个大错误stacktrace,在服务器启动时会出现以下警告:

警告:HTTP GET方法public javax.ws.rs.core.Response br.com.logtec.delivery.resource.AbstractResource.consultar(java.lang.Integer、java.lang.Integer、java.lang.Object)不应使用任何实体

我在谷歌上搜索了一下,发现了:

但我还是坚持使用javaxapi默认注释@BeanParam,而且在jersey容器servlet依赖项中没有这样的注释@InjectParam


所以我要问的是,有没有一种方法可以在@GET方法中使用@BeanParam?如果没有,我怎么能包括@InjectParam而不包括hole glassfish嵌入的web依赖项呢?

没关系,我想出来了。问题是我的资源接口抽象方法是由@GET、@POST。。。我把它们撕了下来,问题就解决了。无论如何谢谢你