我正在使用JAX-RS创建一个restfull webservice,我已经开始使用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方法,public javax.ws.rs.core.Response br.com.logtec.delivery.resource.AbstractResource.consultar(java.lang.Integer,java.lang.Integer,java.lang。对象),不应该使用任何实体。
我用谷歌搜索过,我发现了这个:Using @Consume with GET request in Jersey Rest
但我更倾向于使用javax api默认注释@BeanParam,而且没有这样的注释@InjectParam到jersey-container-servlet依赖。
所以我要问的是,有没有办法在@GET方法中使用@BeanParam?如果没有,我怎么能包括@InjectParam而不包括孔glassfish-embedded-web依赖?
答案 0 :(得分:0)
没关系,我明白了。问题是我的Resource接口抽象方法是由@GET注释的,@ POST ...我把它们撕掉了,然后就解决了。不管怎样,谢谢