【发布时间】:2015-03-04 14:16:52
【问题描述】:
我正在使用 JAX-RS 创建一个完整的 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);
}
这一直有效,直到我有迁移到 Tomcat 的必要条件,然后我选择 Jersey 作为我的 JAX-RS 实现。现在我得到一个很大的错误堆栈跟踪,在服务器启动时跟随这个警告:
警告:HTTP GET 方法,公共 javax.ws.rs.core.Response br.com.logtec.delivery.resource.AbstractResource.consultar(java.lang.Integer,java.lang.Integer,java.lang. Object),不应消耗任何实体。
我用谷歌搜索过,我发现了这个:Using @Consume with GET request in Jersey Rest
但我宁愿坚持使用 javax api 默认注解 @BeanParam,而且 jersey-container-servlet 依赖项中没有 @InjectParam 这样的注解。
所以我要问的是,有没有在@GET 方法中使用@BeanParam 的方法?如果没有,我如何在不包含hole glassfish-embedded-web 依赖项的情况下包含@InjectParam?
【问题讨论】:
标签: java rest get jersey jax-rs